finish: leftover-file trailer gives a count with no filenames and no tree location, under a "no need to re-verify" closure #309
Labels
No labels
breaking
bug
documentation
enhancement
epic
good first issue
help wanted
refactoring
resolution/duplicate
resolution/invalid
resolution/wontfix
security
severity/critical
severity/high
severity/low
severity/medium
status/abandoned
status/blocked
status/needs-decision
status/needs-info
status/needs-verification
testing
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sixfold-space/madtea#309
Loading…
Add table
Add a link
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?
Observed on a
dir=finish against a foreign primary (worktree finishes have the same shape):Reading that, I could not tell where the leftover file was - in the worktree? the primary? lost at cleanup? captured somewhere? The behavior underneath is fine (the file is left in place in the tree the finish touched; declared-files staging per ADR 0024, and worktree remove refuses a dirty tree per ADR 0029), but the output does not let the caller conclude any of that.
Three problems compound:
checkWorkingTreecorrectly inspectsr.dir- the tree the finish actually touched - but the message never says which tree the count refers to. In exactly the worktree anddir=cases, "the working tree" plausibly means three different places.git status) that would answer "which file, where". The trailer exists so the caller never shellsgit status(legacy tracker 1579) - self-confirmation only works if the line carries enough information to act on.Proposed shape: name the files up to a small cap, and when the finish ran against a worktree or
dir=target, state the path and that the files were left in place, e.g.Code pointers:
treeStateSuffixininternal/service/workflow/finish_result.go(composes the trailer fromleftoverNonly);checkWorkingTreeininternal/service/workflow/finish_return.go(already knows the dir, discards everything but the count).