TurtleGit for Mac

View Markdown source ↗

Rebase embedded history reference context

Pinned source: TortoiseGit 7338078f8ddd924b8cddee35f512f2286072136d. This is a partial workflow-family audit of IDD_REBASE, not completion of the Rebase resource or the application. The native surface is RebaseReplayTable and its RebaseWindowModel/RebaseWindowController owner.

Source and implementation

Each popup owns its exact occurrence selection, form generation and full ref map. A native child/model state change invalidates the form generation, and a consumed popup cannot run another item. A reference refresh replaces the menu context. Repository refresh requests coalesce while an owned read, modal child or replay is busy and do not replace the draft replay plan. Deletion completion requests the same owned metadata refresh. Forced retirement cancels reads; global read and mutation accounting remains owned until the underlying work drains.

Grouped verification

The focused hidden receiver is qa/rebase-reference-context-native-2026-10-18.swift, RebaseReferenceContextVerification.verify(). Arguments are an owned private repository root and Git executable. It covers production painter geometry, pointed context menus, annotated tag/source colors, canonical local/remote/tag handoffs, Push persistence semantics, Switch current-branch exclusion, private clipboard text, stale/one-shot receipts, source menu order and Bisect gates, HEAD Pull, extended hash-only Push, contiguous Compare, real change-set viewer preferences, repeated-occurrence change-set/Bisect dispatch, and actual hidden Delete confirmation/refresh/Close/Quit ownership. HEAD/index are compared before/after; owned windows close and reads drain on both success and failure. Transport callbacks are injected to avoid external pushes, pulls or desktop windows; the local deletion uses only the private test repo.

Retained qa/rebase-history-tools-native-2026-10-18.swift covers Find duplicate occurrences/Shift highlight, history, ref failure sheets and cancellation drain, Export, range logs and containing-reference helpers. Grouped results are recorded in qa/history-reference-workflows-2026-10-18.json. These new assertions have not been run by the implementation agent; the parent owns the grouped checkpoint and the result record.

Remaining boundaries

Change-set comparison retains the source hash~1..hash command behavior, which can reject root commits. The successful native comparison fixture uses two parented commits and separately preserves repeated occurrences of one commit.