feature:git
Run any git command inside a feature’s directory without knowing where it lives on disk.
Usage
splent feature:git <feature_name> <git_args>...
| Argument | Description |
|---|---|
<feature_name> |
Feature name — short (auth) or full (splent_feature_auth). |
<git_args> |
Any git subcommand and its arguments, passed through verbatim. |
Examples
splent feature:git auth status
splent feature:git auth commit -m "fix test patch path"
splent feature:git auth push
splent feature:git auth pull
splent feature:git auth log --oneline -5
splent feature:git auth diff HEAD~1
splent feature:git auth stash
splent feature:git auth checkout -b fix/my-fix
Example output
📁 /workspace/.splent_cache/features/splent_io/splent_feature_auth@v1.2.7
On branch main
Changes not staged for commit:
modified: src/splent_io/splent_feature_auth/tests/unit/test_auth_service.py
Description
Resolves the feature’s root directory from the local cache and executes git <git_args> inside it. The resolved path is printed before the git output so you always know which directory is being targeted.
Resolution order:
- Symlinks in
{product}/features/{namespace}/(resolves to the cache entry). .splent_cache/features/{namespace}/{name}[@version]/directly.- Bare directory at
/workspace/{name}/(legacy manual clone).
The git exit code is propagated, so feature:git is safe to use in scripts and CI steps.
Notes
- All git subcommands are supported —
feature:gitpasses arguments through without interpretation. - For pulling all editable features at once, use
feature:pullinstead. - For upgrading a feature to a newer cached version, use
feature:upgrade.