+| branch | gix branch | present | [branch.sh](../../tests/journey/parity/branch.sh) | 37 green `it`-bearing sections covering the full git-branch flag surface from vendor/git/Documentation/git-branch.adoc OPTIONS: meta (--help, --bogus-flag, outside-repo), list mode (bare, -l/--list, -r/--remotes, -a/--all, --show-current, -v/-vv, -q/--quiet, --abbrev/--no-abbrev, --contains, --no-contains, --merged, --no-merged, --points-at, --format, --sort, --column/--no-column, --color/--no-color, --omit-empty, -i/--ignore-case), create mode (`<name>`, `<name> <start-point>`, invalid-name, existing-name, -f/--force, -t/--track + --no-track, --recurse-submodules gate-error, --create-reflog), upstream (-u/--set-upstream-to, --unset-upstream, --edit-description), move (-m/-M), copy (-c/-C with worktree-checkout guard), delete (-d/-D, -r -d). Real implementations: flag-bearing top-level Platform mirroring git's cmdmode (replaces the prior nested-Subcommand shape), pattern filter via `gix::glob::wildmatch`, ancestry filters (--contains/--no-contains via `commit_contains`, --merged/--no-merged via inclusive `ancestors_of` set), --points-at via direct ObjectId equality, minimal for-each-ref atom interpreter for --format (refname / refname:short / refname:strip=N / refname:lstrip=N + %XX hex escapes), --sort=refname / -refname (last-key wins primary), refs/remotes/ prefix when --all pairs with locals, three RefEdit-based mutating subroutines (`create` with PreviousValue::MustNotExist gate + already-exists pre-check, `rename` two-RefEdit transaction, `copy` single Update with worktree-checkout guard, `delete` with RefLog::AndReference). Compat-effect rows tracked in SHORTCOMINGS.md: --verbose -v/-vv rendering (column-aligned sha+subject+upstream tracking), --abbrev cooperation with -v, --column=always packing, --track upstream-config write, -u/--set-upstream-to= config write, --unset-upstream config clear, --edit-description EDITOR-spawn. Deprecated `--set-upstream` (adoc:278) intentionally omitted — git itself documents it as "no longer supported". sha256 blocker: gix-config rejects extensions.objectFormat=sha256 (gix/src/config/tree/sections/extensions.rs), so every repo-opening row is sha1-only. Dual rows: --help, (outside a repository). |
0 commit comments