WIP: Add batch JJ revision descriptions #60

Closed
dikka wants to merge 1 commit from agent/issue-55-jj-batch-mode into main
Owner

Summary

  • Add simple inclusive start--end Jujutsu revision ranges, resolve them to stable change IDs, list them, and confirm once before sequential rewrites.
  • Add -y for non-interactive confirmation; batch mode implies one automatic suggestion per revision, rewrites each stable target, and continues after diff, API, or rewrite errors.
  • Prefix batch actor, debug, spinner, API-error, and suggestion output with the current revision label using bright accessible colors.
  • Make non-success API responses return errors instead of terminating the process, so batch failure isolation is preserved.

Validation

  • cargo test -- --test-threads=1 (53 passed), including a local HTTP 429 regression test that verifies API failures return to the batch error handler.
  • git diff --check

Verification limits

  • No JJ executable is installed in this checkout, so a real JJ repository integration test for range ordering, rewriting, and continuation could not be run. The implementation has focused parser, option, stable rewrite-target, and HTTP error-return coverage.
  • cargo fmt --check could not run because the configured Rust toolchain does not include the rustfmt component.

Related issue: lab/turboCommit#55

## Summary - Add simple inclusive `start--end` Jujutsu revision ranges, resolve them to stable change IDs, list them, and confirm once before sequential rewrites. - Add `-y` for non-interactive confirmation; batch mode implies one automatic suggestion per revision, rewrites each stable target, and continues after diff, API, or rewrite errors. - Prefix batch actor, debug, spinner, API-error, and suggestion output with the current revision label using bright accessible colors. - Make non-success API responses return errors instead of terminating the process, so batch failure isolation is preserved. ## Validation - `cargo test -- --test-threads=1` (53 passed), including a local HTTP 429 regression test that verifies API failures return to the batch error handler. - `git diff --check` ## Verification limits - No JJ executable is installed in this checkout, so a real JJ repository integration test for range ordering, rewriting, and continuation could not be run. The implementation has focused parser, option, stable rewrite-target, and HTTP error-return coverage. - `cargo fmt --check` could not run because the configured Rust toolchain does not include the `rustfmt` component. --- Related issue: lab/turboCommit#55
dikka closed this pull request 2026-08-09 12:50:39 +00:00

Pull request closed

Sign in to join this conversation.
No description provided.