flake-status --upstream ignores the locked ref and compares every pin to the default branch #170
Labels
No labels
blocked
bug
decision
duplicate
enhancement
help wanted
invalid
landed?
question
ready-to-merge
stale
wontfix
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
allod/tools#170
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
flake-status --upstreamcompares every pin against the remote's default-branch HEAD, ignoring therefthe lock'soriginalentry names, so a nixpkgs input trackingnixos-26.05is reported as behind nixpkgsmaster, and a home-manager input already at the tip ofrelease-26.05is marked stale againstmaster.Symptom
Run on 2026-09-08 across the workspace. Every nixpkgs row, whatever channel it tracks, shows the same target revision, and it is the revision of nixpkgs
master:The same run lists
home-managerandnixpkgs-unstablein the closingOutdated (external)line, and suggests aflake-update-cascadeover them.Evidence
What the locks name and where the branches actually were at the time of the run:
So
home-manageratfd0956cis exactly at its branch tip and is reported stale, thenixos-26.05pin at6713828is behind by93108a5and not by9718499, and running the suggestedflake-update-cascade home-managerwould be a no-op.nix flake updateitself honours the ref, so the tool's arrow can never be reached by the command it recommends.Affects the
--upstreammode only; the no-argument and named-input tables are unaffected.flake/README.mddocuments the mode as comparing to "upstream HEAD", so the documentation and the behaviour agree with each other and disagree with what a lock pin means.Related: allod/tools#158 ports this tool to Go and says an open correctness bug may diverge from the Bash oracle only with a regression test and a PR-body note; this is such a bug.