Skip to content

feat(undo): add selective per-repo undo with [repos...] argument#440

Merged
henrikje merged 1 commit intomainfrom
selctive-undo-per-repo
Mar 26, 2026
Merged

feat(undo): add selective per-repo undo with [repos...] argument#440
henrikje merged 1 commit intomainfrom
selctive-undo-per-repo

Conversation

@henrikje
Copy link
Copy Markdown
Owner

Support arb undo [repos...] to undo specific repos while keeping
others. After selective undo, undone repos are marked with status
"undone" in the operation record. Workspace-level finalization (config
restore, directory rename, record finalization) is deferred until all
repos are resolved. The finalization check is outcome-based — naming
every actionable repo explicitly produces the same result as bare
arb undo.

Key changes:

  • Add "undone" to RepoOperationState status enum
  • Add "already-undone" UndoAction for plan display
  • Scoped drift check: only selected repos are checked
  • Hint after partial undo: "Use 'arb undo' to undo the remaining N repos"
  • Validate repo names against the operation record
  • Error when --force combined with [repos...]
  • Shell completions for repo names in both bash and zsh
  • Stdin piping support for repo names

Co-Authored-By: Claude Opus 4.6 (1M context) noreply@anthropic.com

Support `arb undo [repos...]` to undo specific repos while keeping
others. After selective undo, undone repos are marked with status
"undone" in the operation record. Workspace-level finalization (config
restore, directory rename, record finalization) is deferred until all
repos are resolved. The finalization check is outcome-based — naming
every actionable repo explicitly produces the same result as bare
`arb undo`.

Key changes:
- Add "undone" to RepoOperationState status enum
- Add "already-undone" UndoAction for plan display
- Scoped drift check: only selected repos are checked
- Hint after partial undo: "Use 'arb undo' to undo the remaining N repos"
- Validate repo names against the operation record
- Error when --force combined with [repos...]
- Shell completions for repo names in both bash and zsh
- Stdin piping support for repo names

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@henrikje henrikje enabled auto-merge (rebase) March 26, 2026 15:51
@henrikje henrikje merged commit e6eafdc into main Mar 26, 2026
10 checks passed
@henrikje henrikje deleted the selctive-undo-per-repo branch March 26, 2026 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant