feature:unlock

Introduction

feature:unlock turns a pinned feature into an editable one, a git working copy on main at the workspace root. The running product uses it at once. Run it when you need to change a feature your product pins.

splent feature:unlock splent_feature_notes
  notes (v1.2.0) -> editable
    copying to workspace root...
    reinstalling in web container...
    ready.

The product’s link moves from the read-only snapshot in .splent_cache to <workspace>/splent_feature_notes/, and the entry loses its @version. Comments, blank lines, key order and quote style stay as they were in pyproject.toml.


Unlocking every pinned feature

splent feature:unlock --all

Every pinned feature is converted in turn. When at least one converts, product:resolve and product:restart run after.

  Converting 3 feature(s) to editable:
  ...
  3/3 converted.

What your working copy gets

The snapshot is copied to the workspace root and made writable. A copy already there is kept.

origin points at the configured forge, over SSH when a key reaches it and HTTPS otherwise. The full history is fetched, and main is checked out and pulled. When origin pointed at another namespace, you are told the old URL.

A feature with webpack assets or a frontend/ folder is compiled too.


When you cannot push to it

    note: no push access to splent-io/splent_feature_notes
    use 'splent feature:fork' to work on your own copy

With a forge token set, the forge is asked whether you can push. When you cannot, work on your own copy with feature:fork.

A conversion that fails is undone, and the copy this run made is removed. A working copy that is not a git repository of its own is refused.


Reference

Argument or option Description
FEATURE_NAME splent_feature_notes or splent-io/splent_feature_notes
--all Every pinned feature of the product
--force Accepted, with no effect

Pass a feature name or --all, not both.

Message Exit What to do
already editable 0 Nothing to do
<feature> not found in pyproject. 1 Check the name the product declares
cached version not found: <path> 1 Fetch it with feature:clone
git setup failed: ... 1 Read git’s error. The copy was removed

Requirements

  • A selected product (SPLENT_APP) that declares the feature.
  • The feature’s snapshot in .splent_cache.

See also


Back to top

splent. Distributed by an LGPL license v3. Contact us: drorganvidez@us.es