// ZVCS — GIT PARITY / PORT REPORT

Generated by zvcs-parity --html vs stock git 2.55.0 · 2026-09-24 · every figure measured at generation time, nothing hand-classified

Docs Engineering Report
// Color scheme

>_GIT PARITY / PORT REPORT

Dispatch coverage is empirical — the harness runs each of stock git's 181 main subcommands through the binary and counts the ones that don't hit the "not yet ported" dispatch miss. Parity is a differential test — for 16921 curated + fuzzed cases it compares zvcs's stdout, exit code, and post-command repository state byte-for-byte against stock git, and for every case that wrote to the repository it also hands both finished repositories back to stock git (fsck --strict, write-tree) and compares what stock makes of them — a port that writes what git cannot read is as broken as one that prints the wrong thing. A case counts only when all of them match. It does not assert per-command feature completeness: a command with no corpus case is dispatched but untested, listed below. A high parity over a narrow corpus is not full parity, so both numbers are always shown together.

181/181
Dispatched
100%
Dispatch coverage
99.8%
Parity (16891/16921)
30
Mismatches
179
Cmds in corpus
912/1003
Config vars ref'd

Per-command parity — 179 commands with corpus cases

commandcasesmatchout≠exit≠state≠interop≠flakyvskewparity
bugreport12600501050.0%
http-fetch4300000075.0%
get-tar-commit-id10800000080.0%
version7610000085.7%
refs665808000087.9%
help444130000093.2%
init-db272600000096.3%
init14113700000097.2%
filter-branch504910000098.0%
bundle10810701000099.1%
clone16316200000099.4%
for-each-ref18118010000099.4%
add159159000000100%
am256256000000100%
annotate2929000000100%
apply325325000000100%
archimport33000000100%
archive171171000000100%
backfill1313000000100%
bisect115115000000100%
blame205205000000100%
branch227227000000100%
cat-file322322000000100%
check-attr136136000000100%
check-ignore181181000000100%
check-mailmap105105000000100%
check-ref-format7575000000100%
checkout141141000000100%
checkout--worker33000000100%
checkout-index7373000000100%
cherry5151000000100%
cherry-pick102102000000100%
clean104104000000100%
column6767000000100%
commit338338000000100%
commit-graph7878000000100%
commit-tree3939000000100%
config317317000000100%
count-objects6868000000100%
credential6666000000100%
credential-cache1111000000100%
credential-cache--daemon44000000100%
credential-store1818000000100%
cvsexportcommit33000000100%
cvsimport33000000100%
cvsserver33000000100%
daemon1515000000100%
describe116116000000100%
diagnose33000000100%
diff639639000000100%
diff-files9797000000100%
diff-index113113000000100%
diff-pairs2222000000100%
diff-tree100100000000100%
difftool6060000000100%
difftool--helper11000000100%
fast-export4747000000100%
fast-import7676000000100%
fetch234234000000100%
fetch-pack4848000000100%
fmt-merge-msg2020000000100%
for-each-repo1818000000100%
format-patch196196000000100%
format-rev1818000000100%
fsck188188000000100%
fsck-objects1010000000100%
fsmonitor--daemon66000000100%
gc115115000000100%
grep444444000000100%
hash-object134134000000100%
history1313000000100%
hook4545000000100%
http-backend1313000000100%
http-push33000000100%
imap-send1717000000100%
index-pack3636000000100%
instaweb99000000100%
interpret-trailers108108000000100%
jump1111000000100%
last-modified2323000000100%
log696696000000100%
ls-files321321000000100%
ls-remote123123000000100%
ls-tree140140000000100%
mailinfo5858000000100%
mailsplit4141000000100%
maintenance7474000000100%
merge419419000000100%
merge-base101101000000100%
merge-file9797000000100%
merge-index2525000000100%
merge-octopus1111000000100%
merge-one-file1111000000100%
merge-ours55000000100%
merge-recursive4141000000100%
merge-recursive-ours55000000100%
merge-recursive-theirs55000000100%
merge-resolve1010000000100%
merge-subtree77000000100%
merge-tree218218000000100%
mergetool2929000000100%
mktag2020000000100%
mktree2626000000100%
multi-pack-index5757000000100%
mv6666000000100%
name-rev9898000000100%
notes192192000000100%
p444000000100%
pack-objects3636000000100%
pack-redundant2020000000100%
pack-refs5151000000100%
patch-id6565000000100%
pickaxe5454000000100%
prune8989000000100%
prune-packed3434000000100%
pull272272000000100%
push180180000000100%
quiltimport99000000100%
range-diff7474000000100%
read-tree126126000000100%
rebase277277000000100%
receive-pack101101000000100%
reflog116116000000100%
remote110110000000100%
remote-ext1313000000100%
remote-fd1010000000100%
remote-ftp55000000100%
remote-ftps55000000100%
remote-http66000000100%
remote-https55000000100%
repack8888000000100%
replace6363000000100%
replay4141000000100%
repo2525000000100%
request-pull5151000000100%
rerere9090000000100%
reset118118000000100%
restore8080000000100%
rev-list406406000000100%
rev-parse506506000000100%
revert5656000000100%
rm8888000000100%
send-email3535000000100%
send-pack4242000000100%
sh-i18n--envsubst1515000000100%
shell33000000100%
shortlog9999000000100%
show8888000000100%
show-branch7777000000100%
show-index1313000000100%
show-ref124124000000100%
sparse-checkout129129000000100%
stage1515000000100%
stash382382000000100%
status593593000000100%
stripspace5858000000100%
submodule189189000000100%
submodule--helper4747000000100%
subtree3939000000100%
switch9090000000100%
symbolic-ref7474000000100%
tag179179000000100%
unpack-file1010000000100%
unpack-objects2222000000100%
update-index157157000000100%
update-ref132132000000100%
update-server-info1414000000100%
upload-archive1313000000100%
upload-archive--writer33000000100%
upload-pack9393000000100%
url-parse1818000000100%
var5050000000100%
verify-commit1818000000100%
verify-pack2424000000100%
verify-tag1818000000100%
web--browse1818000000100%
whatchanged5050000000100%
worktree166166000000100%
write-tree3232000000100%

Dispatched, not yet in the parity corpus — 2

These commands dispatch (a real code path exists) but have no differential-test case yet, so they are excluded from the parity number rather than counted as passing.

credential-netrc credential-osxkeychain

Not dispatched — 0

Stock git subcommands whose zvcs dispatch arm still hits "not yet ported".

none


Option support matrix — 1677/1679 options across 116 commands (100%)

Every option stock git advertises in git <cmd> -h, probed against the binary: ✓ the flag is parsed, ✗ it is rejected as unknown/unsupported. A parsed flag is not proof the behavior is complete — that is what the parity corpus tests — only that the flag is recognized. Click a command to expand its options.

add21/21
optionshortargzvcs
--dry-run-n✓
--verbose-v✓
--interactive-i✓
--patch-p✓
--auto-advance✓
--unified-U<arg>✓
--inter-hunk-context<arg>✓
--edit-e✓
--force-f✓
--update-u✓
--renormalize✓
--intent-to-add-N✓
--all-A✓
--ignore-removal✓
--refresh✓
--ignore-errors✓
--ignore-missing✓
--sparse✓
--chmod✓
--pathspec-from-file<arg>✓
--pathspec-file-nul✓
am37/37
optionshortargzvcs
--interactive-i✓
--no-verify-n✓
--verify✓
--3way-3✓
--quiet-q✓
--signoff-s✓
--utf8-u✓
--keep-k✓
--keep-non-patch✓
--message-id-m✓
--keep-cr✓
--scissors-c✓
--quoted-cr<arg>✓
--whitespace<arg>✓
--ignore-space-change✓
--ignore-whitespace✓
--directory<arg>✓
--exclude<arg>✓
--include<arg>✓
-C-C<arg>✓
-p-p<arg>✓
--patch-format<arg>✓
--reject✓
--resolvemsg✓
--continue✓
--resolved-r✓
--skip✓
--abort✓
--quit✓
--show-current-patch<arg>✓
--retry✓
--allow-empty✓
--committer-date-is-author-date✓
--ignore-date✓
--rerere-autoupdate✓
--gpg-sign-S<arg>✓
--empty✓
annotate27/27
optionshortargzvcs
--incremental✓
-b-b✓
--root✓
--show-stats✓
--progress✓
--score-debug✓
--show-name-f✓
--show-number-n✓
--porcelain-p✓
--line-porcelain✓
-c-c✓
-t-t✓
-l-l✓
-s-s✓
--show-email-e✓
-w-w✓
--diff-algorithm<arg>✓
--ignore-rev<arg>✓
--ignore-revs-file<arg>✓
--color-lines✓
--color-by-age✓
-S-S<arg>✓
--contents<arg>✓
-C-C<arg>✓
-M-M<arg>✓
-L-L<arg>✓
--abbrev<arg>✓
apply34/34
optionshortargzvcs
--exclude<arg>✓
--include<arg>✓
-p-p<arg>✓
--no-add✓
--add✓
--stat✓
--numstat✓
--summary✓
--check✓
--index✓
--intent-to-add-N✓
--cached✓
--unsafe-paths✓
--apply✓
--3way-3✓
--ours✓
--theirs✓
--union✓
--build-fake-ancestor<arg>✓
-z-z✓
-C-C<arg>✓
--whitespace<arg>✓
--ignore-space-change✓
--ignore-whitespace✓
--reverse-R✓
--unidiff-zero✓
--reject✓
--allow-overlap✓
--verbose-v✓
--quiet-q✓
--inaccurate-eof✓
--recount✓
--directory<arg>✓
--allow-empty✓
archive11/12
optionshortargzvcs
--format<arg>✓
--prefix<arg>✓
--add-file<arg>✓
--add-virtual-file<arg>✓
--output-o<arg>✓
--worktree-attributes✓
--verbose-v✓
--mtime<arg>✓
-N-N✗
--list-l✓
--remote<arg>✓
--exec<arg>✓
backfill3/3
optionshortargzvcs
--min-batch-size<arg>✓
--sparse✓
--include-edges✓
blame27/27
optionshortargzvcs
--incremental✓
-b-b✓
--root✓
--show-stats✓
--progress✓
--score-debug✓
--show-name-f✓
--show-number-n✓
--porcelain-p✓
--line-porcelain✓
-c-c✓
-t-t✓
-l-l✓
-s-s✓
--show-email-e✓
-w-w✓
--diff-algorithm<arg>✓
--ignore-rev<arg>✓
--ignore-revs-file<arg>✓
--color-lines✓
--color-by-age✓
-S-S<arg>✓
--contents<arg>✓
-C-C<arg>✓
-M-M<arg>✓
-L-L<arg>✓
--abbrev<arg>✓
branch31/31
optionshortargzvcs
--verbose-v✓
--quiet-q✓
--track-t<arg>✓
--set-upstream-to-u<arg>✓
--unset-upstream✓
--color<arg>✓
--remotes-r✓
--contains<arg>✓
--no-contains<arg>✓
--abbrev<arg>✓
--all-a✓
--delete-d✓
-D-D✓
--move-m✓
-M-M✓
--omit-empty✓
--copy-c✓
-C-C✓
--list-l✓
--show-current✓
--create-reflog✓
--edit-description✓
--force-f✓
--merged<arg>✓
--no-merged<arg>✓
--column<arg>✓
--sort<arg>✓
--points-at<arg>✓
--ignore-case-i✓
--recurse-submodules✓
--format<arg>✓
bugreport3/3
optionshortargzvcs
--diagnose<arg>✓
--output-directory-o<arg>✓
--suffix-s<arg>✓
cat-file18/18
optionshortargzvcs
-e-e✓
-p-p✓
-t-t✓
-s-s✓
--use-mailmap✓
--mailmap✓
--batch<arg>✓
--batch-check<arg>✓
-Z-Z✓
--batch-command<arg>✓
--batch-all-objects✓
--buffer✓
--follow-symlinks✓
--unordered✓
--textconv✓
--filters✓
--path<arg>✓
--filter<arg>✓
check-attr5/5
optionshortargzvcs
--all-a✓
--cached✓
--stdin✓
-z-z✓
--source<arg>✓
check-ignore7/7
optionshortargzvcs
--quiet-q✓
--verbose-v✓
--stdin✓
-z-z✓
--non-matching-n✓
--no-index✓
--index✓
check-mailmap3/3
optionshortargzvcs
--stdin✓
--mailmap-file<arg>✓
--mailmap-blob<arg>✓
checkout25/25
optionshortargzvcs
-b-b<arg>✓
-B-B<arg>✓
-l-l✓
--guess✓
--overlay✓
--auto-advance✓
--quiet-q✓
--recurse-submodules<arg>✓
--progress✓
--merge-m✓
--conflict<arg>✓
--detach-d✓
--track-t<arg>✓
--force-f✓
--orphan<arg>✓
--overwrite-ignore✓
--ignore-other-worktrees✓
--ours-2✓
--theirs-3✓
--patch-p✓
--unified-U<arg>✓
--inter-hunk-context<arg>✓
--ignore-skip-worktree-bits✓
--pathspec-from-file<arg>✓
--pathspec-file-nul✓
checkout--worker1/1
optionshortargzvcs
--prefix<arg>✓
checkout-index12/12
optionshortargzvcs
--all-a✓
--ignore-skip-worktree-bits✓
--force-f✓
--quiet-q✓
--no-create-n✓
--create✓
--index-u✓
-z-z✓
--stdin✓
--temp✓
--prefix<arg>✓
--stage✓
cherry2/2
optionshortargzvcs
--abbrev<arg>✓
--verbose-v✓
cherry-pick20/20
optionshortargzvcs
--quit✓
--continue✓
--abort✓
--skip✓
--cleanup<arg>✓
--no-commit-n✓
--commit✓
--edit-e✓
--signoff-s✓
--mainline-m<arg>✓
--rerere-autoupdate✓
--strategy<arg>✓
--strategy-option-X<arg>✓
--gpg-sign-S<arg>✓
-x-x✓
--ff✓
--allow-empty✓
--allow-empty-message✓
--keep-redundant-commits✓
--empty✓
clean8/8
optionshortargzvcs
--quiet-q✓
--dry-run-n✓
--force-f✓
--interactive-i✓
-d-d✓
--exclude-e<arg>✓
-x-x✓
-X-X✓
clone40/40
optionshortargzvcs
--verbose-v✓
--quiet-q✓
--progress✓
--reject-shallow✓
--no-checkout-n✓
--checkout✓
--bare✓
--mirror✓
--local-l✓
--no-hardlinks✓
--hardlinks✓
--shared-s✓
--recurse-submodules<arg>✓
--recursive<arg>✓
--jobs-j<arg>✓
--template<arg>✓
--reference<arg>✓
--reference-if-able<arg>✓
--dissociate✓
--origin-o<arg>✓
--branch-b<arg>✓
--revision<arg>✓
--upload-pack-u<arg>✓
--depth<arg>✓
--shallow-since<arg>✓
--shallow-exclude<arg>✓
--single-branch✓
--tags✓
--shallow-submodules✓
--separate-git-dir<arg>✓
--ref-format<arg>✓
--config-c<arg>✓
--server-option<arg>✓
--ipv4-4✓
--ipv6-6✓
--filter<arg>✓
--also-filter-submodules✓
--remote-submodules✓
--sparse✓
--bundle-uri<arg>✓
column7/7
optionshortargzvcs
--command<arg>✓
--mode<arg>✓
--raw-mode<arg>✓
--width<arg>✓
--indent<arg>✓
--nl<arg>✓
--padding<arg>✓
commit40/40
optionshortargzvcs
--quiet-q✓
--verbose-v✓
--file-F<arg>✓
--author<arg>✓
--date<arg>✓
--message-m<arg>✓
--reedit-message-c<arg>✓
--reuse-message-C<arg>✓
--fixup✓
--squash<arg>✓
--reset-author✓
--trailer<arg>✓
--signoff-s✓
--template-t<arg>✓
--edit-e✓
--cleanup<arg>✓
--status✓
--gpg-sign-S<arg>✓
--all-a✓
--include-i✓
--interactive✓
--patch-p✓
--unified-U<arg>✓
--inter-hunk-context<arg>✓
--only-o✓
--no-verify-n✓
--verify✓
--dry-run✓
--short✓
--branch✓
--ahead-behind✓
--porcelain✓
--long✓
--null-z✓
--amend✓
--no-post-rewrite✓
--post-rewrite✓
--untracked-files-u<arg>✓
--pathspec-from-file<arg>✓
--pathspec-file-nul✓
commit-graph1/1
optionshortargzvcs
--object-dir<arg>✓
commit-tree4/4
optionshortargzvcs
-p-p<arg>✓
-m-m<arg>✓
-F-F<arg>✓
--gpg-sign-S<arg>✓
count-objects2/2
optionshortargzvcs
--verbose-v✓
--human-readable-H✓
credential-cache2/2
optionshortargzvcs
--timeout<arg>✓
--socket<arg>✓
credential-cache--daemon1/1
optionshortargzvcs
--debug✓
credential-store1/1
optionshortargzvcs
--file<arg>✓
describe14/14
optionshortargzvcs
--contains✓
--debug✓
--all✓
--tags✓
--long✓
--first-parent✓
--abbrev<arg>✓
--exact-match✓
--candidates<arg>✓
--match<arg>✓
--exclude<arg>✓
--always✓
--dirty<arg>✓
--broken<arg>✓
diagnose3/3
optionshortargzvcs
--output-directory-o<arg>✓
--suffix-s<arg>✓
--mode✓
diff-pairs86/86
optionshortargzvcs
--patch-p✓
--no-patch-s✓
-u-u✓
--unified-U<arg>✓
--function-context-W✓
--raw✓
--patch-with-raw✓
--patch-with-stat✓
--numstat✓
--shortstat✓
--dirstat-X<arg>✓
--cumulative✓
--dirstat-by-file<arg>✓
--check✓
--summary✓
--name-only✓
--name-status✓
--stat<arg>✓
--stat-width<arg>✓
--stat-name-width<arg>✓
--stat-graph-width<arg>✓
--stat-count<arg>✓
--compact-summary✓
--binary✓
--full-index✓
--color<arg>✓
--ws-error-highlight<arg>✓
-z-z✓
--abbrev<arg>✓
--src-prefix<arg>✓
--dst-prefix<arg>✓
--line-prefix<arg>✓
--no-prefix✓
--default-prefix✓
--inter-hunk-context<arg>✓
--output-indicator-new<arg>✓
--output-indicator-old<arg>✓
--output-indicator-context<arg>✓
--break-rewrites-B<arg>✓
--find-renames-M<arg>✓
--irreversible-delete-D✓
--find-copies-C<arg>✓
--find-copies-harder✓
--no-renames✓
--rename-empty✓
--follow✓
-l-l<arg>✓
--minimal✓
--ignore-all-space-w✓
--ignore-space-change-b✓
--ignore-space-at-eol✓
--ignore-cr-at-eol✓
--ignore-blank-lines✓
--ignore-matching-lines-I<arg>✓
--indent-heuristic✓
--patience✓
--histogram✓
--diff-algorithm<arg>✓
--anchored<arg>✓
--word-diff<arg>✓
--word-diff-regex<arg>✓
--color-words<arg>✓
--color-moved<arg>✓
--color-moved-ws<arg>✓
--relative<arg>✓
--text-a✓
-R-R✓
--exit-code✓
--quiet✓
--ext-diff✓
--textconv✓
--ignore-submodules<arg>✓
--submodule<arg>✓
--ita-invisible-in-index✓
--ita-visible-in-index✓
-S-S<arg>✓
-G-G<arg>✓
--pickaxe-all✓
--pickaxe-regex✓
-O-O<arg>✓
--rotate-to<arg>✓
--skip-to<arg>✓
--find-object<arg>✓
--diff-filter✓
--max-depth<arg>✓
--output<arg>✓
difftool10/10
optionshortargzvcs
--gui-g✓
--dir-diff-d✓
--no-prompt-y✓
--symlinks✓
--tool-t<arg>✓
--tool-help✓
--trust-exit-code✓
--extcmd-x<arg>✓
--no-index✓
--index✓
fast-export19/19
optionshortargzvcs
--progress<arg>✓
--signed-tags<arg>✓
--signed-commits<arg>✓
--tag-of-filtered-object<arg>✓
--reencode<arg>✓
--export-marks<arg>✓
--import-marks<arg>✓
--import-marks-if-exists<arg>✓
--fake-missing-tagger✓
--full-tree✓
--use-done-feature✓
--no-data✓
--data✓
--refspec<arg>✓
--anonymize✓
--anonymize-map<arg>✓
--reference-excluded-parents✓
--show-original-ids✓
--mark-tags✓
fetch43/43
optionshortargzvcs
--verbose-v✓
--quiet-q✓
--all✓
--set-upstream✓
--append-a✓
--atomic✓
--upload-pack<arg>✓
--force-f✓
--multiple-m✓
--tags-t✓
-n-n✓
--jobs-j<arg>✓
--prefetch✓
--prune-p✓
--prune-tags-P✓
--recurse-submodules<arg>✓
--dry-run✓
--porcelain✓
--write-fetch-head✓
--keep-k✓
--update-head-ok-u✓
--progress✓
--depth<arg>✓
--shallow-since<arg>✓
--shallow-exclude<arg>✓
--deepen<arg>✓
--unshallow✓
--refetch✓
--update-shallow✓
--refmap<arg>✓
--server-option-o<arg>✓
--ipv4-4✓
--ipv6-6✓
--negotiation-restrict<arg>✓
--negotiation-tip<arg>✓
--negotiation-include<arg>✓
--negotiate-only✓
--filter<arg>✓
--auto-maintenance✓
--auto-gc✓
--show-forced-updates✓
--write-commit-graph✓
--stdin✓
fmt-merge-msg4/4
optionshortargzvcs
--log<arg>✓
--message-m<arg>✓
--into-name<arg>✓
--file-F<arg>✓
for-each-ref19/19
optionshortargzvcs
--shell-s✓
--perl-p✓
--python✓
--tcl✓
--omit-empty✓
--count<arg>✓
--format<arg>✓
--start-after<arg>✓
--color<arg>✓
--exclude<arg>✓
--sort<arg>✓
--points-at<arg>✓
--merged<arg>✓
--no-merged<arg>✓
--contains<arg>✓
--no-contains<arg>✓
--ignore-case✓
--stdin✓
--include-root-refs✓
for-each-repo2/2
optionshortargzvcs
--config<arg>✓
--keep-going✓
format-patch39/39
optionshortargzvcs
--numbered-n✓
--no-numbered-N✓
--signoff-s✓
--stdout✓
--cover-letter✓
--commit-list-format<arg>✓
--numbered-files✓
--suffix<arg>✓
--start-number<arg>✓
--reroll-count-v<arg>✓
--filename-max-length<arg>✓
--rfc<arg>✓
--cover-from-description<arg>✓
--description-file<arg>✓
--subject-prefix<arg>✓
--output-directory-o<arg>✓
--keep-subject-k✓
--no-binary✓
--binary✓
--zero-commit✓
--ignore-if-in-upstream✓
--no-stat-p✓
--add-header<arg>✓
--to<arg>✓
--cc<arg>✓
--from<arg>✓
--in-reply-to<arg>✓
--attach<arg>✓
--inline<arg>✓
--thread<arg>✓
--signature<arg>✓
--base<arg>✓
--signature-file<arg>✓
--quiet-q✓
--progress✓
--interdiff<arg>✓
--range-diff<arg>✓
--creation-factor<arg>✓
--force-in-body-from✓
format-rev6/6
optionshortargzvcs
--format<arg>✓
--stdin-mode<arg>✓
--notes<arg>✓
--null-z✓
--null-input✓
--null-output✓
fsck14/14
optionshortargzvcs
--verbose-v✓
--unreachable✓
--dangling✓
--tags✓
--root✓
--cache✓
--reflogs✓
--full✓
--connectivity-only✓
--strict✓
--lost-found✓
--progress✓
--name-objects✓
--references✓
fsck-objects14/14
optionshortargzvcs
--verbose-v✓
--unreachable✓
--dangling✓
--tags✓
--root✓
--cache✓
--reflogs✓
--full✓
--connectivity-only✓
--strict✓
--lost-found✓
--progress✓
--name-objects✓
--references✓
fsmonitor--daemon3/3
optionshortargzvcs
--detach✓
--ipc-threads<arg>✓
--start-timeout<arg>✓
gc10/10
optionshortargzvcs
--quiet-q✓
--prune<arg>✓
--cruft✓
--max-cruft-size<arg>✓
--aggressive✓
--auto✓
--detach✓
--force✓
--keep-largest-pack✓
--expire-to<arg>✓
grep48/49
optionshortargzvcs
--cached✓
--no-index✓
--index✓
--untracked✓
--exclude-standard✓
--recurse-submodules✓
--invert-match-v✓
--ignore-case-i✓
--word-regexp-w✓
--text-a✓
-I-I✓
--textconv✓
--recursive-r✓
--max-depth<arg>✓
--extended-regexp-E✓
--basic-regexp-G✓
--fixed-strings-F✓
--perl-regexp-P✓
--line-number-n✓
--column✓
-h-h✓
-H-H✓
--full-name✓
--files-with-matches-l✓
--name-only✓
--files-without-match-L✓
--null-z✓
--only-matching-o✓
--count-c✓
--color<arg>✓
--break✓
--heading✓
--context-C<arg>✓
--before-context-B<arg>✓
--after-context-A<arg>✓
--threads<arg>✓
-N-N✗
--show-function-p✓
--function-context-W✓
-f-f<arg>✓
-e-e<arg>✓
--and✓
--or✓
--not✓
--quiet-q✓
--all-match✓
--open-files-in-pager-O<arg>✓
--ext-grep✓
--max-count-m<arg>✓
hash-object8/8
optionshortargzvcs
-t-t<arg>✓
-w-w✓
--stdin✓
--stdin-paths✓
--no-filters✓
--filters✓
--literally✓
--path<arg>✓
help11/11
optionshortargzvcs
--all-a✓
--external-commands✓
--aliases✓
--man-m✓
--web-w✓
--info-i✓
--verbose-v✓
--guides-g✓
--user-interfaces✓
--developer-interfaces✓
--config-c✓
imap-send5/5
optionshortargzvcs
--verbose-v✓
--quiet-q✓
--curl✓
--folder-f<arg>✓
--list✓
init8/8
optionshortargzvcs
--template<arg>✓
--bare✓
--shared<arg>✓
--quiet-q✓
--separate-git-dir<arg>✓
--initial-branch-b<arg>✓
--object-format<arg>✓
--ref-format<arg>✓
init-db8/8
optionshortargzvcs
--template<arg>✓
--bare✓
--shared<arg>✓
--quiet-q✓
--separate-git-dir<arg>✓
--initial-branch-b<arg>✓
--object-format<arg>✓
--ref-format<arg>✓
instaweb8/8
optionshortargzvcs
--local-l✓
--port-p✓
--httpd-d✓
--browser-b✓
--module-path-m✓
--stop✓
--start✓
--restart✓
interpret-trailers12/12
optionshortargzvcs
--in-place✓
--trim-empty✓
--where<arg>✓
--if-exists<arg>✓
--if-missing<arg>✓
--only-trailers✓
--only-input✓
--unfold✓
--parse✓
--no-divider✓
--divider✓
--trailer<arg>✓
last-modified4/4
optionshortargzvcs
--recursive-r✓
--show-trees-t✓
--max-depth<arg>✓
-z-z✓
log9/9
optionshortargzvcs
--quiet-q✓
--source✓
--use-mailmap✓
--mailmap✓
--clear-decorations✓
--decorate-refs<arg>✓
--decorate-refs-exclude<arg>✓
--decorate<arg>✓
-L-L<arg>✓
ls-files29/29
optionshortargzvcs
-z-z✓
-t-t✓
-v-v✓
-f-f✓
--cached-c✓
--deleted-d✓
--modified-m✓
--others-o✓
--ignored-i✓
--stage-s✓
--killed-k✓
--directory✓
--eol✓
--empty-directory✓
--unmerged-u✓
--resolve-undo✓
--exclude-x<arg>✓
--exclude-from-X<arg>✓
--exclude-per-directory<arg>✓
--exclude-standard✓
--full-name✓
--recurse-submodules✓
--error-unmatch✓
--with-tree<arg>✓
--abbrev<arg>✓
--debug✓
--deduplicate✓
--sparse✓
--format<arg>✓
ls-remote10/10
optionshortargzvcs
--quiet-q✓
--upload-pack<arg>✓
--tags-t✓
--branches-b✓
--refs✓
--get-url✓
--sort<arg>✓
--exit-code✓
--symref✓
--server-option-o<arg>✓
ls-tree12/12
optionshortargzvcs
-d-d✓
-r-r✓
-t-t✓
-z-z✓
--long-l✓
--name-only✓
--name-status✓
--object-only✓
--full-name✓
--full-tree✓
--format<arg>✓
--abbrev<arg>✓
mailinfo8/8
optionshortargzvcs
-k-k✓
-b-b✓
--message-id-m✓
-u-u✓
-n-n✓
--encoding<arg>✓
--scissors✓
--quoted-cr<arg>✓
merge31/31
optionshortargzvcs
-n-n✓
--stat✓
--summary✓
--compact-summary✓
--log<arg>✓
--squash✓
--commit✓
--edit-e✓
--cleanup<arg>✓
--ff✓
--ff-only✓
--rerere-autoupdate✓
--verify-signatures✓
--strategy-s<arg>✓
--strategy-option-X<arg>✓
--message-m<arg>✓
--file-F<arg>✓
--into-name<arg>✓
--verbose-v✓
--quiet-q✓
--abort✓
--quit✓
--continue✓
--allow-unrelated-histories✓
--progress✓
--gpg-sign-S<arg>✓
--autostash✓
--overwrite-ignore✓
--signoff✓
--no-verify✓
--verify✓
merge-base5/5
optionshortargzvcs
--all-a✓
--octopus✓
--independent✓
--is-ancestor✓
--fork-point✓
merge-file11/11
optionshortargzvcs
--stdout-p✓
--object-id✓
--diff3✓
--zdiff3✓
--ours✓
--theirs✓
--union✓
--diff-algorithm<arg>✓
--marker-size<arg>✓
--quiet-q✓
-L-L<arg>✓
merge-tree10/10
optionshortargzvcs
--write-tree✓
--trivial-merge✓
--messages✓
--quiet✓
-z-z✓
--name-only✓
--allow-unrelated-histories✓
--stdin✓
--merge-base<arg>✓
--strategy-option-X<arg>✓
mktag1/1
optionshortargzvcs
--strict✓
mktree3/3
optionshortargzvcs
-z-z✓
--missing✓
--batch✓
multi-pack-index2/2
optionshortargzvcs
--object-dir<arg>✓
--progress✓
mv5/5
optionshortargzvcs
--verbose-v✓
--dry-run-n✓
--force-f✓
-k-k✓
--sparse✓
name-rev8/8
optionshortargzvcs
--name-only✓
--tags✓
--refs<arg>✓
--exclude<arg>✓
--all✓
--annotate-stdin✓
--undefined✓
--always✓
notes1/1
optionshortargzvcs
--ref<arg>✓
pack-objects46/46
optionshortargzvcs
--quiet-q✓
--progress✓
--all-progress✓
--all-progress-implied✓
--index-version<arg>✓
--max-pack-size<arg>✓
--local✓
--incremental✓
--window<arg>✓
--window-memory<arg>✓
--depth<arg>✓
--reuse-delta✓
--reuse-object✓
--delta-base-offset✓
--threads<arg>✓
--non-empty✓
--revs✓
--unpacked✓
--all✓
--reflog✓
--indexed-objects✓
--stdin-packs<arg>✓
--stdout✓
--include-tag✓
--keep-unreachable✓
--pack-loose-unreachable✓
--unpack-unreachable<arg>✓
--cruft✓
--cruft-expiration<arg>✓
--sparse✓
--thin✓
--path-walk✓
--shallow✓
--honor-pack-keep✓
--keep-pack<arg>✓
--compression<arg>✓
--keep-true-parents✓
--use-bitmap-index✓
--write-bitmap-index✓
--filter<arg>✓
--missing<arg>✓
--exclude-promisor-objects✓
--exclude-promisor-objects-best-effort✓
--delta-islands✓
--uri-protocol<arg>✓
--name-hash-version<arg>✓
pack-refs5/5
optionshortargzvcs
--all✓
--prune✓
--auto✓
--include<arg>✓
--exclude<arg>✓
patch-id3/3
optionshortargzvcs
--unstable✓
--stable✓
--verbatim✓
pickaxe27/27
optionshortargzvcs
--incremental✓
-b-b✓
--root✓
--show-stats✓
--progress✓
--score-debug✓
--show-name-f✓
--show-number-n✓
--porcelain-p✓
--line-porcelain✓
-c-c✓
-t-t✓
-l-l✓
-s-s✓
--show-email-e✓
-w-w✓
--diff-algorithm<arg>✓
--ignore-rev<arg>✓
--ignore-revs-file<arg>✓
--color-lines✓
--color-by-age✓
-S-S<arg>✓
--contents<arg>✓
-C-C<arg>✓
-M-M<arg>✓
-L-L<arg>✓
--abbrev<arg>✓
prune5/5
optionshortargzvcs
--dry-run-n✓
--verbose-v✓
--progress✓
--expire<arg>✓
--exclude-promisor-objects✓
prune-packed2/2
optionshortargzvcs
--dry-run-n✓
--quiet-q✓
pull47/47
optionshortargzvcs
--verbose-v✓
--quiet-q✓
--progress✓
--recurse-submodules<arg>✓
--rebase-r<arg>✓
-n-n✓
--stat✓
--compact-summary✓
--log<arg>✓
--signoff<arg>✓
--squash✓
--commit✓
--edit✓
--cleanup<arg>✓
--ff✓
--ff-only✓
--verify✓
--verify-signatures✓
--autostash✓
--strategy-s<arg>✓
--strategy-option-X<arg>✓
--gpg-sign-S<arg>✓
--allow-unrelated-histories✓
--all✓
--append-a✓
--upload-pack<arg>✓
--force-f✓
--tags-t✓
--prune-p✓
--jobs-j<arg>✓
--dry-run✓
--keep-k✓
--depth<arg>✓
--shallow-since<arg>✓
--shallow-exclude<arg>✓
--deepen<arg>✓
--unshallow✓
--update-shallow✓
--refmap<arg>✓
--server-option-o<arg>✓
--ipv4-4✓
--ipv6-6✓
--negotiation-restrict<arg>✓
--negotiation-tip<arg>✓
--negotiation-include<arg>✓
--show-forced-updates✓
--set-upstream✓
push28/28
optionshortargzvcs
--verbose-v✓
--quiet-q✓
--repo<arg>✓
--all✓
--branches✓
--mirror✓
--delete-d✓
--tags✓
--dry-run-n✓
--porcelain✓
--force-f✓
--force-with-lease<arg>✓
--force-if-includes✓
--recurse-submodules✓
--thin✓
--receive-pack<arg>✓
--exec<arg>✓
--set-upstream-u✓
--progress✓
--prune✓
--no-verify✓
--verify✓
--follow-tags✓
--signed<arg>✓
--atomic✓
--push-option-o<arg>✓
--ipv4-4✓
--ipv6-6✓
quiltimport5/5
optionshortargzvcs
--dry-run-n✓
--author✓
--patches✓
--series✓
--keep-non-patch✓
range-diff95/95
optionshortargzvcs
--creation-factor<arg>✓
--no-dual-color✓
--dual-color✓
--notes<arg>✓
--diff-merges<arg>✓
--max-memory<arg>✓
--remerge-diff✓
--left-only✓
--right-only✓
--patch-p✓
--no-patch-s✓
-u-u✓
--unified-U<arg>✓
--function-context-W✓
--raw✓
--patch-with-raw✓
--patch-with-stat✓
--numstat✓
--shortstat✓
--dirstat-X<arg>✓
--cumulative✓
--dirstat-by-file<arg>✓
--check✓
--summary✓
--name-only✓
--name-status✓
--stat<arg>✓
--stat-width<arg>✓
--stat-name-width<arg>✓
--stat-graph-width<arg>✓
--stat-count<arg>✓
--compact-summary✓
--binary✓
--full-index✓
--color<arg>✓
--ws-error-highlight<arg>✓
-z-z✓
--abbrev<arg>✓
--src-prefix<arg>✓
--dst-prefix<arg>✓
--line-prefix<arg>✓
--no-prefix✓
--default-prefix✓
--inter-hunk-context<arg>✓
--output-indicator-new<arg>✓
--output-indicator-old<arg>✓
--output-indicator-context<arg>✓
--break-rewrites-B<arg>✓
--find-renames-M<arg>✓
--irreversible-delete-D✓
--find-copies-C<arg>✓
--find-copies-harder✓
--no-renames✓
--rename-empty✓
--follow✓
-l-l<arg>✓
--minimal✓
--ignore-all-space-w✓
--ignore-space-change-b✓
--ignore-space-at-eol✓
--ignore-cr-at-eol✓
--ignore-blank-lines✓
--ignore-matching-lines-I<arg>✓
--indent-heuristic✓
--patience✓
--histogram✓
--diff-algorithm<arg>✓
--anchored<arg>✓
--word-diff<arg>✓
--word-diff-regex<arg>✓
--color-words<arg>✓
--color-moved<arg>✓
--color-moved-ws<arg>✓
--relative<arg>✓
--text-a✓
-R-R✓
--exit-code✓
--quiet✓
--ext-diff✓
--textconv✓
--ignore-submodules<arg>✓
--submodule<arg>✓
--ita-invisible-in-index✓
--ita-visible-in-index✓
-S-S<arg>✓
-G-G<arg>✓
--pickaxe-all✓
--pickaxe-regex✓
-O-O<arg>✓
--rotate-to<arg>✓
--skip-to<arg>✓
--find-object<arg>✓
--diff-filter✓
--max-depth<arg>✓
--output<arg>✓
read-tree17/17
optionshortargzvcs
--index-output<arg>✓
--empty✓
--verbose-v✓
-m-m✓
--trivial✓
--aggressive✓
--reset✓
--prefix<arg>✓
-u-u✓
--exclude-per-directory<arg>✓
-i-i✓
--dry-run-n✓
--no-sparse-checkout✓
--sparse-checkout✓
--debug-unpack✓
--recurse-submodules<arg>✓
--quiet-q✓
rebase41/41
optionshortargzvcs
--onto<arg>✓
--keep-base✓
--no-verify✓
--verify✓
--quiet-q✓
--verbose-v✓
--no-stat-n✓
--stat✓
--trailer<arg>✓
--signoff✓
--committer-date-is-author-date✓
--reset-author-date✓
-C-C<arg>✓
--ignore-whitespace✓
--whitespace<arg>✓
--force-rebase-f✓
--no-ff✓
--ff✓
--continue✓
--skip✓
--abort✓
--quit✓
--edit-todo✓
--show-current-patch✓
--apply✓
--merge-m✓
--interactive-i✓
--rerere-autoupdate✓
--empty✓
--autosquash✓
--update-refs✓
--gpg-sign-S<arg>✓
--autostash✓
--exec-x<arg>✓
--rebase-merges-r<arg>✓
--fork-point✓
--strategy-s<arg>✓
--strategy-option-X<arg>✓
--root✓
--reschedule-failed-exec✓
--reapply-cherry-picks✓
receive-pack1/1
optionshortargzvcs
--quiet-q✓
remote1/1
optionshortargzvcs
--verbose-v✓
repack30/30
optionshortargzvcs
-a-a✓
-A-A✓
--cruft✓
--cruft-expiration<arg>✓
--combine-cruft-below-size<arg>✓
--max-cruft-size<arg>✓
-d-d✓
-f-f✓
-F-F✓
--name-hash-version<arg>✓
--path-walk✓
-n-n✓
--quiet-q✓
--local-l✓
--write-bitmap-index-b✓
--delta-islands-i✓
--unpack-unreachable<arg>✓
--keep-unreachable-k✓
--window<arg>✓
--window-memory<arg>✓
--depth<arg>✓
--threads<arg>✓
--max-pack-size<arg>✓
--filter<arg>✓
--pack-kept-objects✓
--keep-pack<arg>✓
--geometric-g<arg>✓
--write-midx<arg>✓
--expire-to<arg>✓
--filter-to<arg>✓
replace8/8
optionshortargzvcs
--list-l✓
--delete-d✓
--edit-e✓
--graft-g✓
--convert-graft-file✓
--force-f✓
--raw✓
--format<arg>✓
replay6/6
optionshortargzvcs
--contained✓
--onto<arg>✓
--advance<arg>✓
--revert<arg>✓
--ref<arg>✓
--ref-action<arg>✓
request-pull1/1
optionshortargzvcs
-p-p✓
rerere1/1
optionshortargzvcs
--rerere-autoupdate✓
reset16/16
optionshortargzvcs
--quiet-q✓
--no-refresh✓
--refresh✓
--mixed✓
--soft✓
--hard✓
--merge✓
--keep✓
--recurse-submodules<arg>✓
--patch-p✓
--auto-advance✓
--unified-U<arg>✓
--inter-hunk-context<arg>✓
--intent-to-add-N✓
--pathspec-from-file<arg>✓
--pathspec-file-nul✓
restore18/18
optionshortargzvcs
--source-s<arg>✓
--staged-S✓
--worktree-W✓
--ignore-unmerged✓
--overlay✓
--quiet-q✓
--recurse-submodules<arg>✓
--progress✓
--merge-m✓
--conflict<arg>✓
--ours-2✓
--theirs-3✓
--patch-p✓
--unified-U<arg>✓
--inter-hunk-context<arg>✓
--ignore-skip-worktree-bits✓
--pathspec-from-file<arg>✓
--pathspec-file-nul✓
rev-list35/35
optionshortargzvcs
--max-count<arg>✓
--max-age<arg>✓
--min-age<arg>✓
--sparse✓
--no-merges✓
--min-parents<arg>✓
--no-min-parents✓
--max-parents<arg>✓
--no-max-parents✓
--remove-empty✓
--all✓
--branches✓
--tags✓
--remotes✓
--stdin✓
--exclude-hidden<arg>✓
--quiet✓
--topo-order✓
--date-order✓
--reverse✓
--parents✓
--children✓
--objects✓
--disk-usage<arg>✓
--unpacked✓
--header✓
--object-names✓
--abbrev<arg>✓
--abbrev-commit✓
--left-right✓
--count✓
-z-z✓
--bisect✓
--bisect-vars✓
--bisect-all✓
revert15/15
optionshortargzvcs
--quit✓
--continue✓
--abort✓
--skip✓
--cleanup<arg>✓
--no-commit-n✓
--commit✓
--edit-e✓
--signoff-s✓
--mainline-m<arg>✓
--rerere-autoupdate✓
--strategy<arg>✓
--strategy-option-X<arg>✓
--gpg-sign-S<arg>✓
--reference✓
rm9/9
optionshortargzvcs
--dry-run-n✓
--quiet-q✓
--cached✓
--force-f✓
-r-r✓
--ignore-unmatch✓
--sparse✓
--pathspec-from-file<arg>✓
--pathspec-file-nul✓
send-email55/55
optionshortargzvcs
--from✓
--to✓
--cc✓
--bcc✓
--subject✓
--reply-to✓
--in-reply-to✓
--outlook-id-fix✓
--xmailer✓
--annotate✓
--compose✓
--compose-encoding✓
--8bit-encoding✓
--transfer-encoding✓
--mailmap✓
--envelope-sender✓
--sendmail-cmd✓
--smtp-server✓
--smtp-server-option✓
--smtp-server-port✓
--smtp-user✓
--smtp-pass✓
--smtp-encryption✓
--smtp-ssl✓
--smtp-ssl-cert-path✓
--smtp-ssl-client-cert✓
--smtp-ssl-client-key✓
--smtp-domain✓
--smtp-auth✓
--no-smtp-auth✓
--smtp-debug✓
--imap-sent-folder✓
--use-imap-only✓
--batch-size✓
--relogin-delay✓
--identity✓
--to-cmd✓
--cc-cmd✓
--header-cmd✓
--no-header-cmd✓
--suppress-cc✓
--cc-cover✓
--to-cover✓
--signed-off-by-cc✓
--suppress-from✓
--chain-reply-to✓
--thread✓
--confirm✓
--quiet✓
--dry-run✓
--validate✓
--format-patch✓
--force✓
--dump-aliases✓
--translate-aliases✓
send-pack19/19
optionshortargzvcs
--verbose-v✓
--quiet-q✓
--receive-pack<arg>✓
--exec<arg>✓
--remote<arg>✓
--all✓
--dry-run-n✓
--mirror✓
--force-f✓
--signed<arg>✓
--push-option<arg>✓
--progress✓
--thin✓
--atomic✓
--stateless-rpc✓
--stdin✓
--helper-status✓
--force-with-lease<arg>✓
--force-if-includes✓
shortlog6/6
optionshortargzvcs
--committer-c✓
--numbered-n✓
--summary-s✓
--email-e✓
-w-w<arg>✓
--group<arg>✓
show9/9
optionshortargzvcs
--quiet-q✓
--source✓
--use-mailmap✓
--mailmap✓
--clear-decorations✓
--decorate-refs<arg>✓
--decorate-refs-exclude<arg>✓
--decorate<arg>✓
-L-L<arg>✓
show-branch16/16
optionshortargzvcs
--all-a✓
--remotes-r✓
--color<arg>✓
--more<arg>✓
--list✓
--no-name✓
--name✓
--current✓
--sha1-name✓
--merge-base✓
--independent✓
--topo-order✓
--topics✓
--sparse✓
--date-order✓
--reflog-g<arg>✓
show-index1/1
optionshortargzvcs
--object-format<arg>✓
show-ref10/10
optionshortargzvcs
--tags✓
--branches✓
--exists✓
--verify✓
--head✓
--dereference-d✓
--hash-s<arg>✓
--abbrev<arg>✓
--quiet-q✓
--exclude-existing<arg>✓
stage21/21
optionshortargzvcs
--dry-run-n✓
--verbose-v✓
--interactive-i✓
--patch-p✓
--auto-advance✓
--unified-U<arg>✓
--inter-hunk-context<arg>✓
--edit-e✓
--force-f✓
--update-u✓
--renormalize✓
--intent-to-add-N✓
--all-A✓
--ignore-removal✓
--refresh✓
--ignore-errors✓
--ignore-missing✓
--sparse✓
--chmod✓
--pathspec-from-file<arg>✓
--pathspec-file-nul✓
status15/15
optionshortargzvcs
--verbose-v✓
--short-s✓
--branch-b✓
--show-stash✓
--ahead-behind✓
--porcelain<arg>✓
--long✓
--null-z✓
--untracked-files-u<arg>✓
--ignored<arg>✓
--ignore-submodules<arg>✓
--column<arg>✓
--no-renames✓
--renames✓
--find-renames-M<arg>✓
stripspace2/2
optionshortargzvcs
--strip-comments-s✓
--comment-lines-c✓
subtree12/12
optionshortargzvcs
--help-h✓
--quiet-q✓
--debug-d✓
--prefix-P✓
--annotate✓
--branch-b✓
--ignore-joins✓
--onto✓
--rejoin✓
--squash✓
--message-m✓
--gpg-sign-S<arg>✓
switch15/15
optionshortargzvcs
--create-c<arg>✓
--force-create-C<arg>✓
--guess✓
--discard-changes✓
--quiet-q✓
--recurse-submodules<arg>✓
--progress✓
--merge-m✓
--conflict<arg>✓
--detach-d✓
--track-t<arg>✓
--force-f✓
--orphan<arg>✓
--overwrite-ignore✓
--ignore-other-worktrees✓
symbolic-ref5/5
optionshortargzvcs
--quiet-q✓
--delete-d✓
--short✓
--recurse✓
-m-m<arg>✓
tag25/25
optionshortargzvcs
--list-l✓
-n-n<arg>✓
--delete-d✓
--verify-v✓
--annotate-a✓
--message-m<arg>✓
--file-F<arg>✓
--trailer<arg>✓
--edit-e✓
--sign-s✓
--cleanup<arg>✓
--local-user-u<arg>✓
--force-f✓
--create-reflog✓
--column<arg>✓
--contains<arg>✓
--no-contains<arg>✓
--merged<arg>✓
--no-merged<arg>✓
--omit-empty✓
--sort<arg>✓
--points-at<arg>✓
--format<arg>✓
--color<arg>✓
--ignore-case-i✓
update-index35/35
optionshortargzvcs
-q-q✓
--ignore-submodules✓
--add✓
--replace✓
--remove✓
--unmerged✓
--refresh✓
--really-refresh✓
--cacheinfo<arg>✓
--chmod✓
--assume-unchanged✓
--no-assume-unchanged✓
--skip-worktree✓
--no-skip-worktree✓
--ignore-skip-worktree-entries✓
--info-only✓
--force-remove✓
-z-z✓
--stdin✓
--index-info✓
--unresolve✓
--again-g✓
--ignore-missing✓
--verbose✓
--clear-resolve-undo✓
--index-version<arg>✓
--show-index-version✓
--split-index✓
--untracked-cache✓
--test-untracked-cache✓
--force-untracked-cache✓
--force-write-index✓
--fsmonitor✓
--fsmonitor-valid✓
--no-fsmonitor-valid✓
update-ref8/8
optionshortargzvcs
-m-m<arg>✓
-d-d✓
--no-deref✓
--deref✓
-z-z✓
--stdin✓
--create-reflog✓
--batch-updates-0✓
update-server-info1/1
optionshortargzvcs
--force-f✓
upload-pack3/3
optionshortargzvcs
--stateless-rpc✓
--strict✓
--timeout<arg>✓
url-parse1/1
optionshortargzvcs
--component-c<arg>✓
verify-commit2/2
optionshortargzvcs
--verbose-v✓
--raw✓
verify-pack3/3
optionshortargzvcs
--verbose-v✓
--stat-only-s✓
--object-format<arg>✓
verify-tag3/3
optionshortargzvcs
--verbose-v✓
--raw✓
--format<arg>✓
version1/1
optionshortargzvcs
--build-options✓
whatchanged9/9
optionshortargzvcs
--quiet-q✓
--source✓
--use-mailmap✓
--mailmap✓
--clear-decorations✓
--decorate-refs<arg>✓
--decorate-refs-exclude<arg>✓
--decorate<arg>✓
-L-L<arg>✓
write-tree2/2
optionshortargzvcs
--missing-ok✓
--prefix<arg>✓

Config variable support — 912/1003 referenced in source (91%)

Every variable from stock git help --config, checked against the source the git binary is built from — the extensions crate plus the vendored gitoxide. ✓ the key is referenced (read/honored somewhere), ✗ no reference found. This is source evidence, not a behavioral guarantee, and it undercounts keys gitoxide reaches through split section/name access rather than a dotted literal. Grouped by section; click to expand.

add1/1
variablezvcs
add.ignoreErrors✓
advice44/47
variablezvcs
advice.addEmbeddedRepo✓
advice.addEmptyPathspec✓
advice.addIgnoredFile✓
advice.amWorkDir✓
advice.ambiguousFetchRefspec✓
advice.checkoutAmbiguousRemoteBranchName✓
advice.commitBeforeMerge✓
advice.defaultBranchName✓
advice.detachedHead✓
advice.diverging✓
advice.fetchRemoteHEADWarn✓
advice.fetchShowForcedUpdates✓
advice.forceDeleteBranch✓
advice.graftFileDeprecated✓
advice.ignoredHook✓
advice.implicitIdentity✗
advice.mergeConflict✓
advice.nestedTag✓
advice.objectNameWarning✓
advice.pushAlreadyExists✓
advice.pushFetchFirst✓
advice.pushNeedsForce✓
advice.pushNonFFCurrent✓
advice.pushNonFFMatching✓
advice.pushNonFastForward✓
advice.pushRefNeedsUpdate✓
advice.pushUnqualifiedRefName✗
advice.pushUpdateRejected✓
advice.rebaseTodoError✓
advice.refSyntax✓
advice.resetNoRefresh✓
advice.resolveConflict✓
advice.rmHints✓
advice.sequencerInUse✓
advice.setUpstreamFailure✓
advice.skippedCherryPicks✓
advice.sparseIndexExpanded✓
advice.statusAheadBehindWarning✓
advice.statusHints✓
advice.statusUoption✓
advice.submoduleAlternateErrorStrategyDie✓
advice.submoduleMergeConflict✓
advice.submodulesNotUpdated✗
advice.suggestDetachingHead✓
advice.updateSparsePath✓
advice.waitingForEditor✓
advice.worktreeAddOrphan✓
alias0/2
variablezvcs
alias.*✗
alias.*.command✗
am3/3
variablezvcs
am.keepcr✓
am.messageId✓
am.threeWay✓
apply2/2
variablezvcs
apply.ignoreWhitespace✓
apply.whitespace✓
attr1/1
variablezvcs
attr.tree✓
author2/2
variablezvcs
author.email✓
author.name✓
bitmapPseudoMerge0/7
variablezvcs
bitmapPseudoMerge.<name>.decay✗
bitmapPseudoMerge.<name>.maxMerges✗
bitmapPseudoMerge.<name>.pattern✗
bitmapPseudoMerge.<name>.sampleRate✗
bitmapPseudoMerge.<name>.stableSize✗
bitmapPseudoMerge.<name>.stableThreshold✗
bitmapPseudoMerge.<name>.threshold✗
blame8/8
variablezvcs
blame.blankBoundary✓
blame.coloring✓
blame.date✓
blame.ignoreRevsFile✓
blame.markIgnoredLines✓
blame.markUnblamableLines✓
blame.showEmail✓
blame.showRoot✓
branch9/9
variablezvcs
branch.<name>.description✓
branch.<name>.merge✓
branch.<name>.mergeOptions✓
branch.<name>.pushRemote✓
branch.<name>.rebase✓
branch.<name>.remote✓
branch.autoSetupMerge✓
branch.autoSetupRebase✓
branch.sort✓
browser2/2
variablezvcs
browser.<tool>.cmd✓
browser.<tool>.path✓
bundle5/6
variablezvcs
bundle.*✓
bundle.<id>.*✗
bundle.<id>.uri✓
bundle.heuristic✓
bundle.mode✓
bundle.version✓
checkout4/4
variablezvcs
checkout.defaultRemote✓
checkout.guess✓
checkout.thresholdForParallelism✓
checkout.workers✓
clean1/1
variablezvcs
clean.requireForce✓
clone3/3
variablezvcs
clone.defaultRemoteName✓
clone.filterSubmodules✓
clone.rejectShallow✓
color83/83
variablezvcs
color.advice✓
color.advice.hint✓
color.blame.highlightRecent✓
color.blame.repeatedLines✓
color.branch✓
color.branch.current✓
color.branch.local✓
color.branch.plain✓
color.branch.remote✓
color.branch.reset✓
color.branch.upstream✓
color.branch.worktree✓
color.decorate.HEAD✓
color.decorate.branch✓
color.decorate.grafted✓
color.decorate.remoteBranch✓
color.decorate.stash✓
color.decorate.tag✓
color.diff✓
color.diff.commit✓
color.diff.context✓
color.diff.contextBold✓
color.diff.contextDimmed✓
color.diff.frag✓
color.diff.func✓
color.diff.meta✓
color.diff.new✓
color.diff.newBold✓
color.diff.newDimmed✓
color.diff.newMoved✓
color.diff.newMovedAlternative✓
color.diff.newMovedAlternativeDimmed✓
color.diff.newMovedDimmed✓
color.diff.old✓
color.diff.oldBold✓
color.diff.oldDimmed✓
color.diff.oldMoved✓
color.diff.oldMovedAlternative✓
color.diff.oldMovedAlternativeDimmed✓
color.diff.oldMovedDimmed✓
color.diff.plain✓
color.diff.whitespace✓
color.grep✓
color.grep.column✓
color.grep.context✓
color.grep.filename✓
color.grep.function✓
color.grep.lineNumber✓
color.grep.match✓
color.grep.matchContext✓
color.grep.matchSelected✓
color.grep.selected✓
color.grep.separator✓
color.interactive✓
color.interactive.error✓
color.interactive.header✓
color.interactive.help✓
color.interactive.plain✓
color.interactive.prompt✓
color.interactive.reset✓
color.pager✓
color.push✓
color.push.error✓
color.remote✓
color.remote.error✓
color.remote.hint✓
color.remote.success✓
color.remote.warning✓
color.showBranch✓
color.status✓
color.status.added✓
color.status.branch✓
color.status.changed✓
color.status.header✓
color.status.localBranch✓
color.status.noBranch✓
color.status.remoteBranch✓
color.status.unmerged✓
color.status.untracked✓
color.status.updated✓
color.transport✓
color.transport.rejected✓
color.ui✓
column5/5
variablezvcs
column.branch✓
column.clean✓
column.status✓
column.tag✓
column.ui✓
commit5/5
variablezvcs
commit.cleanup✓
commit.gpgSign✓
commit.status✓
commit.template✓
commit.verbose✓
commitGraph5/5
variablezvcs
commitGraph.changedPaths✓
commitGraph.changedPathsVersion✓
commitGraph.generationVersion✓
commitGraph.maxNewFilters✓
commitGraph.readChangedPaths✓
committer2/2
variablezvcs
committer.email✓
committer.name✓
completion1/1
variablezvcs
completion.commands✓
core58/62
variablezvcs
core.abbrev✓
core.alternateRefsCommand✓
core.alternateRefsPrefixes✓
core.askPass✓
core.attributesFile✓
core.autocrlf✓
core.bare✓
core.bigFileThreshold✓
core.checkRoundtripEncoding✓
core.checkStat✓
core.commentChar✓
core.commentString✓
core.commitGraph✓
core.compression✓
core.createObject✓
core.deltaBaseCacheLimit✓
core.editor✓
core.eol✓
core.excludesFile✓
core.fileMode✓
core.filesRefLockTimeout✓
core.fsmonitor✓
core.fsmonitorHookVersion✗
core.fsync✓
core.fsyncMethod✓
core.fsyncObjectFiles✓
core.gitProxy✗
core.hideDotFiles✗
core.hooksPath✓
core.ignoreCase✓
core.ignoreStat✓
core.lockfilePid✓
core.logAllRefUpdates✓
core.looseCompression✓
core.maxTreeDepth✓
core.multiPackIndex✓
core.notesRef✓
core.packedGitLimit✓
core.packedGitWindowSize✓
core.packedRefsTimeout✓
core.pager✓
core.precomposeUnicode✓
core.preferSymlinkRefs✓
core.preloadIndex✓
core.protectHFS✓
core.protectNTFS✓
core.quotePath✓
core.repositoryFormatVersion✓
core.safecrlf✓
core.sharedRepository✓
core.sparseCheckout✓
core.sparseCheckoutCone✓
core.splitIndex✓
core.sshCommand✓
core.symlinks✓
core.trustctime✓
core.unsetenvvars✗
core.untrackedCache✓
core.useReplaceRefs✓
core.warnAmbiguousRefs✓
core.whitespace✓
core.worktree✓
credential7/7
variablezvcs
credential.<url>.*✓
credential.helper✓
credential.interactive✓
credential.protectProtocol✓
credential.sanitizePrompt✓
credential.useHttpPath✓
credential.username✓
credentialCache1/1
variablezvcs
credentialCache.ignoreSIGHUP✓
credentialStore1/1
variablezvcs
credentialStore.lockTimeoutMS✓
diff34/34
variablezvcs
diff.<driver>.binary✓
diff.<driver>.cachetextconv✓
diff.<driver>.command✓
diff.<driver>.textconv✓
diff.<driver>.trustExitCode✓
diff.<driver>.wordRegex✓
diff.<driver>.xfuncname✓
diff.algorithm✓
diff.autoRefreshIndex✓
diff.colorMoved✓
diff.colorMovedWS✓
diff.context✓
diff.dirstat✓
diff.dstPrefix✓
diff.external✓
diff.guitool✓
diff.ignoreSubmodules✓
diff.indentHeuristic✓
diff.interHunkContext✓
diff.mnemonicPrefix✓
diff.noPrefix✓
diff.orderFile✓
diff.relative✓
diff.renameLimit✓
diff.renames✓
diff.srcPrefix✓
diff.statGraphWidth✓
diff.statNameWidth✓
diff.submodule✓
diff.suppressBlankEmpty✓
diff.tool✓
diff.trustExitCode✓
diff.wordRegex✓
diff.wsErrorHighlight✓
difftool5/5
variablezvcs
difftool.<tool>.cmd✓
difftool.<tool>.path✓
difftool.guiDefault✓
difftool.prompt✓
difftool.trustExitCode✓
extensions1/1
variablezvcs
extensions.*✓
fastimport1/1
variablezvcs
fastimport.unpackLimit✓
feature3/3
variablezvcs
feature.*✓
feature.experimental✓
feature.manyFiles✓
fetch15/15
variablezvcs
fetch.all✓
fetch.bundleCreationToken✓
fetch.bundleURI✓
fetch.fsck.<msg-id>✓
fetch.fsck.skipList✓
fetch.fsckObjects✓
fetch.negotiationAlgorithm✓
fetch.output✓
fetch.parallel✓
fetch.prune✓
fetch.pruneTags✓
fetch.recurseSubmodules✓
fetch.showForcedUpdates✓
fetch.unpackLimit✓
fetch.writeCommitGraph✓
filter2/2
variablezvcs
filter.<driver>.clean✓
filter.<driver>.smudge✓
format24/24
variablezvcs
format.attach✓
format.cc✓
format.commitListFormat✓
format.coverFromDescription✓
format.coverLetter✓
format.encodeEmailHeaders✓
format.filenameMaxLength✓
format.forceInBodyFrom✓
format.from✓
format.headers✓
format.mboxrd✓
format.noprefix✓
format.notes✓
format.numbered✓
format.outputDirectory✓
format.pretty✓
format.signOff✓
format.signature✓
format.signatureFile✓
format.subjectPrefix✓
format.suffix✓
format.thread✓
format.to✓
format.useAutoBase✓
fsck77/77
variablezvcs
fsck.badDate✓
fsck.badDateOverflow✓
fsck.badEmail✓
fsck.badFilemode✓
fsck.badGpgsig✓
fsck.badHeadTarget✓
fsck.badHeaderContinuation✓
fsck.badName✓
fsck.badObjectSha1✓
fsck.badPackedRefEntry✓
fsck.badPackedRefHeader✓
fsck.badParentSha1✓
fsck.badRefContent✓
fsck.badRefFiletype✓
fsck.badRefName✓
fsck.badRefOid✓
fsck.badReferentName✓
fsck.badReftableTableName✓
fsck.badTagName✓
fsck.badTimezone✓
fsck.badTree✓
fsck.badTreeSha1✓
fsck.badType✓
fsck.duplicateEntries✓
fsck.emptyName✓
fsck.emptyPackedRefsFile✓
fsck.extraHeaderEntry✓
fsck.fullPathname✓
fsck.gitattributesBlob✓
fsck.gitattributesLarge✓
fsck.gitattributesLineLength✓
fsck.gitattributesMissing✓
fsck.gitattributesSymlink✓
fsck.gitignoreSymlink✓
fsck.gitmodulesBlob✓
fsck.gitmodulesLarge✓
fsck.gitmodulesMissing✓
fsck.gitmodulesName✓
fsck.gitmodulesParse✓
fsck.gitmodulesPath✓
fsck.gitmodulesSymlink✓
fsck.gitmodulesUpdate✓
fsck.gitmodulesUrl✓
fsck.hasDot✓
fsck.hasDotdot✓
fsck.hasDotgit✓
fsck.largePathname✓
fsck.mailmapSymlink✓
fsck.missingAuthor✓
fsck.missingCommitter✓
fsck.missingEmail✓
fsck.missingNameBeforeEmail✓
fsck.missingObject✓
fsck.missingSpaceBeforeDate✓
fsck.missingSpaceBeforeEmail✓
fsck.missingTag✓
fsck.missingTagEntry✓
fsck.missingTaggerEntry✓
fsck.missingTree✓
fsck.missingType✓
fsck.missingTypeEntry✓
fsck.multipleAuthors✓
fsck.nulInCommit✓
fsck.nulInHeader✓
fsck.nullSha1✓
fsck.packedRefEntryNotTerminated✓
fsck.packedRefUnsorted✓
fsck.refMissingNewline✓
fsck.skipList✓
fsck.symlinkRef✓
fsck.symrefTargetIsNotARef✓
fsck.trailingRefContent✓
fsck.treeNotSorted✓
fsck.unknownType✓
fsck.unterminatedHeader✓
fsck.zeroPaddedDate✓
fsck.zeroPaddedFilemode✓
fsmonitor1/2
variablezvcs
fsmonitor.allowRemote✗
fsmonitor.socketDir✓
gc21/22
variablezvcs
gc.<pattern>.reflogExpire✓
gc.<pattern>.reflogExpireUnreachable✗
gc.aggressiveDepth✓
gc.aggressiveWindow✓
gc.auto✓
gc.autoDetach✓
gc.autoPackLimit✓
gc.bigPackThreshold✓
gc.cruftPacks✓
gc.logExpiry✓
gc.maxCruftSize✓
gc.packRefs✓
gc.pruneExpire✓
gc.recentObjectsHook✓
gc.reflogExpire✓
gc.reflogExpireUnreachable✓
gc.repackFilter✓
gc.repackFilterTo✓
gc.rerereResolved✓
gc.rerereUnresolved✓
gc.worktreePruneExpire✓
gc.writeCommitGraph✓
gitcvs2/10
variablezvcs
gitcvs.allBinary✗
gitcvs.commitMsgAnnotation✗
gitcvs.dbDriver✓
gitcvs.dbName✗
gitcvs.dbPass✗
gitcvs.dbTableNamePrefix✗
gitcvs.dbUser✗
gitcvs.enabled✓
gitcvs.logFile✗
gitcvs.usecrlfattr✗
gitweb0/13
variablezvcs
gitweb.avatar✗
gitweb.blame✗
gitweb.category✗
gitweb.description✗
gitweb.grep✗
gitweb.highlight✗
gitweb.owner✗
gitweb.patches✗
gitweb.pickaxe✗
gitweb.remote_heads✗
gitweb.showSizes✗
gitweb.snapshot✗
gitweb.url✗
gpg7/7
variablezvcs
gpg.<format>.program✓
gpg.format✓
gpg.minTrustLevel✓
gpg.program✓
gpg.ssh.allowedSignersFile✓
gpg.ssh.defaultKeyCommand✓
gpg.ssh.revocationFile✓
grep7/7
variablezvcs
grep.column✓
grep.extendedRegexp✓
grep.fallbackToNoIndex✓
grep.fullName✓
grep.lineNumber✓
grep.patternType✓
grep.threads✓
gui0/13
variablezvcs
gui.GCWarning✗
gui.blamehistoryctx✗
gui.commitMsgWidth✗
gui.copyBlameThreshold✗
gui.diffContext✗
gui.displayUntracked✗
gui.encoding✗
gui.fastCopyBlame✗
gui.matchTrackingBranch✗
gui.newBranchTemplate✗
gui.pruneDuringFetch✗
gui.spellingDictionary✗
gui.trustmtime✗
guitool0/10
variablezvcs
guitool.<name>.argPrompt✗
guitool.<name>.cmd✗
guitool.<name>.confirm✗
guitool.<name>.needsFile✗
guitool.<name>.noConsole✗
guitool.<name>.noRescan✗
guitool.<name>.prompt✗
guitool.<name>.revPrompt✗
guitool.<name>.revUnmerged✗
guitool.<name>.title✗
hasconfig:remote1/1
variablezvcs
hasconfig:remote.*.url✓
help1/4
variablezvcs
help.autoCorrect✓
help.browser✗
help.format✗
help.htmlPath✗
hook7/7
variablezvcs
hook.<event>.enabled✓
hook.<event>.jobs✓
hook.<friendly-name>.command✓
hook.<friendly-name>.enabled✓
hook.<friendly-name>.event✓
hook.<friendly-name>.parallel✓
hook.jobs✓
http30/44
variablezvcs
http.<url>.*✓
http.cookieFile✓
http.curloptResolve✓
http.delegation✗
http.emptyAuth✓
http.extraHeader✓
http.followRedirects✓
http.keepAliveCount✓
http.keepAliveIdle✓
http.keepAliveInterval✓
http.lowSpeedLimit✓
http.lowSpeedTime✓
http.maxRequests✗
http.maxRetries✓
http.maxRetryTime✓
http.minSessions✓
http.noEPSV✗
http.pinnedPubkey✗
http.postBuffer✓
http.proactiveAuth✓
http.proxy✓
http.proxyAuthMethod✓
http.proxySSLCAInfo✗
http.proxySSLCert✗
http.proxySSLCertPasswordProtected✗
http.proxySSLKey✗
http.retryAfter✓
http.saveCookies✓
http.schannelCheckRevoke✓
http.schannelUseSSLCAInfo✓
http.sslBackend✗
http.sslCAInfo✓
http.sslCAPath✓
http.sslCert✓
http.sslCertPasswordProtected✗
http.sslCertType✗
http.sslCipherList✗
http.sslKey✓
http.sslKeyType✗
http.sslTry✗
http.sslVerify✓
http.sslVersion✓
http.userAgent✓
http.version✓
i18n2/2
variablezvcs
i18n.commitEncoding✓
i18n.logOutputEncoding✓
imap9/9
variablezvcs
imap.authMethod✓
imap.folder✓
imap.host✓
imap.pass✓
imap.port✓
imap.preformattedHTML✓
imap.sslverify✓
imap.tunnel✓
imap.user✓
include1/1
variablezvcs
include.path✓
includeIf1/1
variablezvcs
includeIf.<condition>.path✓
index6/6
variablezvcs
index.recordEndOfIndexEntries✓
index.recordOffsetTable✓
index.skipHash✓
index.sparse✓
index.threads✓
index.version✓
init5/5
variablezvcs
init.defaultBranch✓
init.defaultObjectFormat✓
init.defaultRefFormat✓
init.defaultSubmodulePathConfig✓
init.templateDir✓
instaweb5/5
variablezvcs
instaweb.browser✓
instaweb.httpd✓
instaweb.local✓
instaweb.modulePath✓
instaweb.port✓
interactive2/2
variablezvcs
interactive.diffFilter✓
interactive.singleKey✓
log11/11
variablezvcs
log.abbrevCommit✓
log.date✓
log.decorate✓
log.diffMerges✓
log.excludeDecoration✓
log.follow✓
log.graphColors✓
log.initialDecorationSet✓
log.mailmap✓
log.showRoot✓
log.showSignature✓
lsrefs1/1
variablezvcs
lsrefs.unborn✓
mailinfo1/1
variablezvcs
mailinfo.scissors✓
mailmap2/2
variablezvcs
mailmap.blob✓
mailmap.file✓
maintenance14/14
variablezvcs
maintenance.<task>.enabled✓
maintenance.<task>.schedule✓
maintenance.auto✓
maintenance.autoDetach✓
maintenance.commit-graph.auto✓
maintenance.geometric-repack.auto✓
maintenance.geometric-repack.splitFactor✓
maintenance.incremental-repack.auto✓
maintenance.loose-objects.auto✓
maintenance.loose-objects.batchSize✓
maintenance.reflog-expire.auto✓
maintenance.rerere-gc.auto✓
maintenance.strategy✓
maintenance.worktree-prune.auto✓
man3/3
variablezvcs
man.<tool>.cmd✓
man.<tool>.path✓
man.viewer✓
merge19/19
variablezvcs
merge.<driver>.driver✓
merge.<driver>.name✓
merge.<driver>.recursive✓
merge.autoStash✓
merge.branchdesc✓
merge.conflictStyle✓
merge.defaultToUpstream✓
merge.directoryRenames✓
merge.ff✓
merge.guitool✓
merge.log✓
merge.renameLimit✓
merge.renames✓
merge.renormalize✓
merge.stat✓
merge.suppressDest✓
merge.tool✓
merge.verbosity✓
merge.verifySignatures✓
mergetool13/13
variablezvcs
mergetool.<tool>.cmd✓
mergetool.<tool>.hideResolved✓
mergetool.<tool>.path✓
mergetool.<tool>.trustExitCode✓
mergetool.<variant>.layout✓
mergetool.guiDefault✓
mergetool.hideResolved✓
mergetool.keepBackup✓
mergetool.keepTemporaries✓
mergetool.meld.hasOutput✓
mergetool.meld.useAutoMerge✓
mergetool.prompt✓
mergetool.writeToTemp✓
notes6/6
variablezvcs
notes.<name>.mergeStrategy✓
notes.displayRef✓
notes.mergeStrategy✓
notes.rewrite.<command>✓
notes.rewriteMode✓
notes.rewriteRef✓
pack21/21
variablezvcs
pack.allowPackReuse✓
pack.compression✓
pack.deltaCacheLimit✓
pack.deltaCacheSize✓
pack.depth✓
pack.indexVersion✓
pack.island✓
pack.islandCore✓
pack.packSizeLimit✓
pack.preferBitmapTips✓
pack.readReverseIndex✓
pack.threads✓
pack.useBitmapBoundaryTraversal✓
pack.useBitmaps✓
pack.usePathWalk✓
pack.useSparse✓
pack.window✓
pack.windowMemory✓
pack.writeBitmapHashCache✓
pack.writeBitmapLookupTable✓
pack.writeReverseIndex✓
pager1/1
variablezvcs
pager.<cmd>✓
pretty1/1
variablezvcs
pretty.<name>✓
promisor5/6
variablezvcs
promisor.acceptFromServer✓
promisor.advertise✓
promisor.checkFields✓
promisor.quiet✗
promisor.sendFields✓
promisor.storeFields✓
protocol3/3
variablezvcs
protocol.<name>.allow✓
protocol.allow✓
protocol.version✓
pull5/5
variablezvcs
pull.autoStash✓
pull.ff✓
pull.octopus✓
pull.rebase✓
pull.twohead✓
push9/9
variablezvcs
push.autoSetupRemote✓
push.default✓
push.followTags✓
push.gpgSign✓
push.negotiate✓
push.pushOption✓
push.recurseSubmodules✓
push.useBitmaps✓
push.useForceIfIncludes✓
rebase12/12
variablezvcs
rebase.abbreviateCommands✓
rebase.autoSquash✓
rebase.autoStash✓
rebase.backend✓
rebase.forkPoint✓
rebase.instructionFormat✓
rebase.maxLabelLength✓
rebase.missingCommitsCheck✓
rebase.rebaseMerges✓
rebase.rescheduleFailedExec✓
rebase.stat✓
rebase.updateRefs✓
receive93/94
variablezvcs
receive.advertiseAtomic✓
receive.advertisePushOptions✓
receive.autogc✓
receive.certNonceSeed✓
receive.certNonceSlop✓
receive.denyCurrentBranch✓
receive.denyDeleteCurrent✓
receive.denyDeletes✓
receive.denyNonFastForwards✓
receive.fsck.badDate✓
receive.fsck.badDateOverflow✓
receive.fsck.badEmail✓
receive.fsck.badFilemode✓
receive.fsck.badGpgsig✓
receive.fsck.badHeadTarget✓
receive.fsck.badHeaderContinuation✓
receive.fsck.badName✓
receive.fsck.badObjectSha1✓
receive.fsck.badPackedRefEntry✓
receive.fsck.badPackedRefHeader✓
receive.fsck.badParentSha1✓
receive.fsck.badRefContent✓
receive.fsck.badRefFiletype✓
receive.fsck.badRefName✓
receive.fsck.badRefOid✓
receive.fsck.badReferentName✓
receive.fsck.badReftableTableName✓
receive.fsck.badTagName✓
receive.fsck.badTimezone✓
receive.fsck.badTree✓
receive.fsck.badTreeSha1✓
receive.fsck.badType✓
receive.fsck.duplicateEntries✓
receive.fsck.emptyName✓
receive.fsck.emptyPackedRefsFile✓
receive.fsck.extraHeaderEntry✓
receive.fsck.fullPathname✓
receive.fsck.gitattributesBlob✓
receive.fsck.gitattributesLarge✓
receive.fsck.gitattributesLineLength✓
receive.fsck.gitattributesMissing✓
receive.fsck.gitattributesSymlink✓
receive.fsck.gitignoreSymlink✓
receive.fsck.gitmodulesBlob✓
receive.fsck.gitmodulesLarge✓
receive.fsck.gitmodulesMissing✓
receive.fsck.gitmodulesName✓
receive.fsck.gitmodulesParse✓
receive.fsck.gitmodulesPath✓
receive.fsck.gitmodulesSymlink✓
receive.fsck.gitmodulesUpdate✓
receive.fsck.gitmodulesUrl✓
receive.fsck.hasDot✓
receive.fsck.hasDotdot✓
receive.fsck.hasDotgit✓
receive.fsck.largePathname✓
receive.fsck.mailmapSymlink✓
receive.fsck.missingAuthor✓
receive.fsck.missingCommitter✓
receive.fsck.missingEmail✓
receive.fsck.missingNameBeforeEmail✓
receive.fsck.missingObject✓
receive.fsck.missingSpaceBeforeDate✓
receive.fsck.missingSpaceBeforeEmail✓
receive.fsck.missingTag✓
receive.fsck.missingTagEntry✓
receive.fsck.missingTaggerEntry✓
receive.fsck.missingTree✓
receive.fsck.missingType✓
receive.fsck.missingTypeEntry✓
receive.fsck.multipleAuthors✓
receive.fsck.nulInCommit✓
receive.fsck.nulInHeader✓
receive.fsck.nullSha1✓
receive.fsck.packedRefEntryNotTerminated✓
receive.fsck.packedRefUnsorted✓
receive.fsck.refMissingNewline✓
receive.fsck.skipList✓
receive.fsck.symlinkRef✓
receive.fsck.symrefTargetIsNotARef✓
receive.fsck.trailingRefContent✓
receive.fsck.treeNotSorted✓
receive.fsck.unknownType✓
receive.fsck.unterminatedHeader✓
receive.fsck.zeroPaddedDate✓
receive.fsck.zeroPaddedFilemode✓
receive.fsckObjects✓
receive.hideRefs✓
receive.keepAlive✓
receive.maxInputSize✓
receive.procReceiveRefs✓
receive.shallowUpdate✗
receive.unpackLimit✓
receive.updateServerInfo✓
reftable0/5
variablezvcs
reftable.blockSize✗
reftable.geometricFactor✗
reftable.indexObjects✗
reftable.lockTimeout✗
reftable.restartInterval✗
remote22/22
variablezvcs
remote.<name>.fetch✓
remote.<name>.followRemoteHEAD✓
remote.<name>.mirror✓
remote.<name>.negotiationInclude✓
remote.<name>.negotiationRestrict✓
remote.<name>.partialclonefilter✓
remote.<name>.promisor✓
remote.<name>.proxy✓
remote.<name>.proxyAuthMethod✓
remote.<name>.prune✓
remote.<name>.pruneTags✓
remote.<name>.push✓
remote.<name>.pushurl✓
remote.<name>.receivepack✓
remote.<name>.serverOption✓
remote.<name>.skipDefaultUpdate✓
remote.<name>.skipFetchAll✓
remote.<name>.tagOpt✓
remote.<name>.uploadpack✓
remote.<name>.url✓
remote.<name>.vcs✓
remote.pushDefault✓
remotes1/1
variablezvcs
remotes.<group>✓
repack12/12
variablezvcs
repack.cruftDepth✓
repack.cruftThreads✓
repack.cruftWindow✓
repack.cruftWindowMemory✓
repack.midxMustContainCruft✓
repack.midxNewLayerThreshold✓
repack.midxSplitFactor✓
repack.packKeptObjects✓
repack.updateServerInfo✓
repack.useDeltaBaseOffset✓
repack.useDeltaIslands✓
repack.writeBitmaps✓
replay1/1
variablezvcs
replay.refAction✓
rerere2/2
variablezvcs
rerere.autoUpdate✓
rerere.enabled✓
revert1/1
variablezvcs
revert.reference✓
safe2/2
variablezvcs
safe.bareRepository✓
safe.directory✓
sendemail42/42
variablezvcs
sendemail.<identity>.*✓
sendemail.aliasFileType✓
sendemail.aliasesFile✓
sendemail.annotate✓
sendemail.bcc✓
sendemail.cc✓
sendemail.ccCmd✓
sendemail.chainReplyTo✓
sendemail.confirm✓
sendemail.envelopeSender✓
sendemail.forbidSendmailVariables✓
sendemail.from✓
sendemail.headerCmd✓
sendemail.identity✓
sendemail.imapSentFolder✓
sendemail.mailmap✓
sendemail.mailmap.blob✓
sendemail.mailmap.file✓
sendemail.multiEdit✓
sendemail.outlookidfix✓
sendemail.signedOffByCc✓
sendemail.smtpBatchSize✓
sendemail.smtpDomain✓
sendemail.smtpEncryption✓
sendemail.smtpPass✓
sendemail.smtpReloginDelay✓
sendemail.smtpSSLCertPath✓
sendemail.smtpSSLClientCert✓
sendemail.smtpSSLClientKey✓
sendemail.smtpServer✓
sendemail.smtpServerOption✓
sendemail.smtpServerPort✓
sendemail.smtpUser✓
sendemail.suppressCc✓
sendemail.suppressFrom✓
sendemail.thread✓
sendemail.to✓
sendemail.toCmd✓
sendemail.transferEncoding✓
sendemail.useImapOnly✓
sendemail.validate✓
sendemail.xmailer✓
sequence1/1
variablezvcs
sequence.editor✓
showBranch1/1
variablezvcs
showBranch.default✓
sideband1/2
variablezvcs
sideband.<url>.*✗
sideband.allowControlCharacters✓
sparse1/1
variablezvcs
sparse.expectFilesOutsideOfPatterns✓
splitIndex2/2
variablezvcs
splitIndex.maxPercentChange✓
splitIndex.sharedIndexExpire✓
ssh1/1
variablezvcs
ssh.variant✓
stash4/4
variablezvcs
stash.index✓
stash.showIncludeUntracked✓
stash.showPatch✓
stash.showStat✓
status11/11
variablezvcs
status.aheadBehind✓
status.branch✓
status.compareBranches✓
status.displayCommentPrefix✓
status.relativePaths✓
status.renameLimit✓
status.renames✓
status.short✓
status.showStash✓
status.showUntrackedFiles✓
status.submoduleSummary✓
submodule13/13
variablezvcs
submodule.<name>.active✓
submodule.<name>.branch✓
submodule.<name>.fetchRecurseSubmodules✓
submodule.<name>.gitdir✓
submodule.<name>.ignore✓
submodule.<name>.update✓
submodule.<name>.url✓
submodule.active✓
submodule.alternateErrorStrategy✓
submodule.alternateLocation✓
submodule.fetchJobs✓
submodule.propagateBranches✓
submodule.recurse✓
tag3/3
variablezvcs
tag.forceSignAnnotated✓
tag.gpgSign✓
tag.sort✓
tar1/1
variablezvcs
tar.umask✓
trace29/11
variablezvcs
trace2.configParams✓
trace2.destinationDebug✓
trace2.envVars✓
trace2.eventBrief✓
trace2.eventNesting✓
trace2.eventTarget✓
trace2.maxFiles✓
trace2.normalBrief✗
trace2.normalTarget✓
trace2.perfBrief✗
trace2.perfTarget✓
trailer10/10
variablezvcs
trailer.<key-alias>.cmd✓
trailer.<key-alias>.command✓
trailer.<key-alias>.ifexists✓
trailer.<key-alias>.ifmissing✓
trailer.<key-alias>.key✓
trailer.<key-alias>.where✓
trailer.ifexists✓
trailer.ifmissing✓
trailer.separators✓
trailer.where✓
transfer6/7
variablezvcs
transfer.advertiseObjectInfo✓
transfer.advertiseSID✓
transfer.bundleURI✗
transfer.credentialsInUrl✓
transfer.fsckObjects✓
transfer.hideRefs✓
transfer.unpackLimit✓
uploadarchive1/1
variablezvcs
uploadarchive.allowUnreachable✓
uploadpack8/8
variablezvcs
uploadpack.allowAnySHA1InWant✓
uploadpack.allowFilter✓
uploadpack.allowReachableSHA1InWant✓
uploadpack.allowRefInWant✓
uploadpack.allowTipSHA1InWant✓
uploadpack.hideRefs✓
uploadpack.keepAlive✓
uploadpack.packObjectsHook✓
uploadpackfilter3/3
variablezvcs
uploadpackfilter.<filter>.allow✓
uploadpackfilter.allow✓
uploadpackfilter.tree.maxDepth✓
url2/2
variablezvcs
url.<base>.insteadOf✓
url.<base>.pushInsteadOf✓
user4/4
variablezvcs
user.email✓
user.name✓
user.signingKey✓
user.useConfigOnly✓
versionsort1/1
variablezvcs
versionsort.suffix✓
web1/1
variablezvcs
web.browser✓
worktree2/2
variablezvcs
worktree.guessRemote✓
worktree.useRelativePaths✓

Source of truth: the zvcs-parity harness (src/parity). Regenerate after any port work: cargo run -p zvcs-parity -- --bin target/release/git --html docs/port_report.html.