Archived
Compare pins with a target branch and flag pins off it
The ref of a pin was the closest branch containing it, so a pin on a feature branch looked like a perfect one, and the ref changed with the branch checked out in the submodule. Split it in two: - Pin.Target is the branch the pin should be on: `branch =` of .gitmodules (none if it does not exist locally), else the remote's default branch. - Pin.Ref is shown: the target if the pin is on it, else the branch containing the pin with the fewest commits after it. A tie goes to the upstream of the checked-out branch, then to the first name; no branch is a favorite. A pushed pin that is not on its target is `off target`, a new issue at the new level Info (blue), counted in the header and below collapsed rows. The spine shows the target's tip, labelled with its branch name, so the distance from it is visible; a diverged one is the fork. The role words in a spine label are styled separately and `you` is bold. Add Status.TargetTip, TargetDrift and Bases.Target, Pin.Target and Pin.Branches; drop RefSource.IsTarget. The detail pane's label column is 11 wide for the word `off target`. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -48,8 +48,14 @@ commit hashes. It doesn't answer the questions users actually have:
|
||||
muted `in sync`, or a blue `staged` if their pin change is staged. With
|
||||
issues, a staged pin adds a blue `●` after the word.
|
||||
See [state-model.md](state-model.md) for the full rules.
|
||||
- **F11** Each submodule shows its pin as a ref (`origin/main`, a tag, or a
|
||||
short SHA as a fallback) and the distance to that ref (`↑n`, `↓n`, `↑n↓m`).
|
||||
- **F11** Each submodule shows its pin as a ref and the distance to it
|
||||
(`↑n`, `↓n`, `↑n↓m`). The ref is the **target** branch (`branch =` of
|
||||
`.gitmodules`, else the remote's default branch) if the pin is on it, else
|
||||
the branch the pin is on that it is closest to; only without any a tag or
|
||||
a short SHA.
|
||||
- **F11a** A pin that is pushed but not on its target branch (for example
|
||||
only on a feature branch) is `off target`, an information (blue) naming
|
||||
the branch it is on. It does not depend on the superproject's branch.
|
||||
- **F12** A pin that is not reachable from any remote ref ("unpushed") is
|
||||
the most prominent state.
|
||||
- **F13** States load asynchronously per submodule; a submodule shows a
|
||||
|
||||
Reference in New Issue
Block a user