swh:1:snp:bb8853bfef8fcf2b1d37fd6404912c7606c98e48
Revision 85a9a63c9268b18b24f25f6a14d6ae9966c3566d authored by Jeff King on 29 January 2024, 01:57:08 UTC, committed by Junio C Hamano on 29 January 2024, 18:37:44 UTC
Running this: $ touch foo bar $ chmod +x foo $ git -c diff.external=echo diff --ext-diff --no-index foo bar results in a segfault. The issue is that run_diff_cmd() passes a NULL "xfrm_msg" variable to run_external_diff(), which feeds it to strvec_push(), causing the segfault. The bug dates back to 82fbf269b9 (run_external_diff: use an argv_array for the command line, 2014-04-19), though it mostly only ever worked accidentally. Before then, we just stuck the NULL pointer into a "const char **" array, so our NULL ended up acting as an extra end-of-argv sentinel (which was OK, because it was the last thing in the array). Curiously, though, this is only a problem with --no-index. We set up xfrm_msg by calling fill_metainfo(). This result may be empty, or may have text like "index 1234..5678\n", "rename from foo\nrename from bar\n", etc. In run_external_diff(), we only look at xfrm_msg if the "other" variable is not NULL. That variable is set when the paths of the two sides of the diff pair aren't the same (in which case the destination path becomes "other"). So normally it would kick in only for a rename, in which case xfrm_msg should not be NULL (it would have the rename information in it). But with a "--no-index" of two blobs, we of course have two different pathnames, and thus end up with a non-NULL "other" filename (which is always just a repeat of the file2-name), but possibly a NULL xfrm_msg. So how to fix it? I have a feeling that --no-index always passing "other" to the external diff command is probably a bug. There was no rename, and the name is always redundant with existing information we pass (and this may even cause us to pass a useless "xfrm_msg" that contains an "index 1234..5678" line). So one option would be to change that behavior. We don't seem to have ever documented the "other" or "xfrm_msg" parameters for external diffs. But I'm not sure what fallout we might have from changing that behavior now. So this patch takes the less-risky option, and simply teaches run_external_diff() to avoid passing xfrm_msg when it's NULL. That makes it agnostic to whether "other" and "xfrm_msg" always come as a pair. It fixes the segfault now, and if we want to change the --no-index "other" behavior on top, it will handle that, too. Reported-by: Wilfred Hughes <me@wilfred.me.uk> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 564d025
Tip revision: 19981daefd7c147444462739375462b49412ce33 authored by Junio C Hamano on 05 April 2024, 17:49:37 UTC
The fifteenth batch
The fifteenth batch
Tip revision: 19981da
File | Mode | Size |
---|---|---|
.github | ||
Documentation | ||
block-sha1 | ||
builtin | ||
ci | ||
compat | ||
contrib | ||
ewah | ||
git-gui | ||
gitk-git | ||
gitweb | ||
mergetools | ||
negotiator | ||
oss-fuzz | ||
perl | ||
po | ||
refs | ||
reftable | ||
sha1 | ||
sha1collisiondetection @ 855827c | ||
sha1dc | ||
sha256 | ||
t | ||
templates | ||
trace2 | ||
xdiff | ||
.cirrus.yml | -rw-r--r-- | 491 bytes |
.clang-format | -rw-r--r-- | 5.0 KB |
.editorconfig | -rw-r--r-- | 288 bytes |
.gitattributes | -rw-r--r-- | 630 bytes |
.gitignore | -rw-r--r-- | 3.4 KB |
.gitmodules | -rw-r--r-- | 153 bytes |
.mailmap | -rw-r--r-- | 16.9 KB |
.tsan-suppressions | -rw-r--r-- | 689 bytes |
CODE_OF_CONDUCT.md | -rw-r--r-- | 5.9 KB |
COPYING | -rw-r--r-- | 18.3 KB |
GIT-VERSION-GEN | -rwxr-xr-x | 752 bytes |
INSTALL | -rw-r--r-- | 9.8 KB |
LGPL-2.1 | -rw-r--r-- | 26.2 KB |
Makefile | -rw-r--r-- | 117.8 KB |
README.md | -rw-r--r-- | 3.6 KB |
RelNotes | l--------- | 33 bytes |
SECURITY.md | -rw-r--r-- | 1.9 KB |
abspath.c | -rw-r--r-- | 8.4 KB |
abspath.h | -rw-r--r-- | 1.8 KB |
aclocal.m4 | -rw-r--r-- | 1.4 KB |
add-interactive.c | -rw-r--r-- | 30.8 KB |
add-interactive.h | -rw-r--r-- | 965 bytes |
add-patch.c | -rw-r--r-- | 50.9 KB |
advice.c | -rw-r--r-- | 9.0 KB |
advice.h | -rw-r--r-- | 2.2 KB |
alias.c | -rw-r--r-- | 2.7 KB |
alias.h | -rw-r--r-- | 441 bytes |
alloc.c | -rw-r--r-- | 2.7 KB |
alloc.h | -rw-r--r-- | 486 bytes |
apply.c | -rw-r--r-- | 134.2 KB |
apply.h | -rw-r--r-- | 5.2 KB |
archive-tar.c | -rw-r--r-- | 13.9 KB |
archive-zip.c | -rw-r--r-- | 17.3 KB |
archive.c | -rw-r--r-- | 20.8 KB |
archive.h | -rw-r--r-- | 1.6 KB |
attr.c | -rw-r--r-- | 32.2 KB |
attr.h | -rw-r--r-- | 7.1 KB |
banned.h | -rw-r--r-- | 1.1 KB |
base85.c | -rw-r--r-- | 2.8 KB |
base85.h | -rw-r--r-- | 180 bytes |
bisect.c | -rw-r--r-- | 30.3 KB |
bisect.h | -rw-r--r-- | 2.4 KB |
blame.c | -rw-r--r-- | 83.9 KB |
blame.h | -rw-r--r-- | 5.6 KB |
blob.c | -rw-r--r-- | 427 bytes |
blob.h | -rw-r--r-- | 654 bytes |
bloom.c | -rw-r--r-- | 9.2 KB |
bloom.h | -rw-r--r-- | 3.0 KB |
branch.c | -rw-r--r-- | 24.3 KB |
branch.h | -rw-r--r-- | 5.2 KB |
builtin.h | -rw-r--r-- | 12.6 KB |
bulk-checkin.c | -rw-r--r-- | 10.4 KB |
bulk-checkin.h | -rw-r--r-- | 1.0 KB |
bundle-uri.c | -rw-r--r-- | 22.7 KB |
bundle-uri.h | -rw-r--r-- | 4.2 KB |
bundle.c | -rw-r--r-- | 16.5 KB |
bundle.h | -rw-r--r-- | 1.8 KB |
cache-tree.c | -rw-r--r-- | 24.6 KB |
cache-tree.h | -rw-r--r-- | 1.7 KB |
cbtree.c | -rw-r--r-- | 3.4 KB |
cbtree.h | -rw-r--r-- | 1.5 KB |
chdir-notify.c | -rw-r--r-- | 1.9 KB |
chdir-notify.h | -rw-r--r-- | 2.5 KB |
check-builtins.sh | -rwxr-xr-x | 596 bytes |
checkout.c | -rw-r--r-- | 2.0 KB |
checkout.h | -rw-r--r-- | 371 bytes |
chunk-format.c | -rw-r--r-- | 4.7 KB |
chunk-format.h | -rw-r--r-- | 2.1 KB |
color.c | -rw-r--r-- | 10.4 KB |
color.h | -rw-r--r-- | 5.1 KB |
column.c | -rw-r--r-- | 9.4 KB |
column.h | -rw-r--r-- | 1.4 KB |
combine-diff.c | -rw-r--r-- | 43.3 KB |
command-list.txt | -rw-r--r-- | 12.9 KB |
commit-graph.c | -rw-r--r-- | 75.7 KB |
commit-graph.h | -rw-r--r-- | 6.9 KB |
commit-reach.c | -rw-r--r-- | 29.4 KB |
commit-reach.h | -rw-r--r-- | 4.3 KB |
commit-slab-decl.h | -rw-r--r-- | 1.4 KB |
commit-slab-impl.h | -rw-r--r-- | 3.1 KB |
commit-slab.h | -rw-r--r-- | 2.5 KB |
commit.c | -rw-r--r-- | 46.6 KB |
commit.h | -rw-r--r-- | 13.1 KB |
common-main.c | -rw-r--r-- | 2.2 KB |
config.c | -rw-r--r-- | 93.6 KB |
config.h | -rw-r--r-- | 24.6 KB |
config.mak.dev | -rw-r--r-- | 3.4 KB |
config.mak.in | -rw-r--r-- | 540 bytes |
config.mak.uname | -rw-r--r-- | 25.1 KB |
configure.ac | -rw-r--r-- | 37.4 KB |
connect.c | -rw-r--r-- | 37.5 KB |
connect.h | -rw-r--r-- | 1.3 KB |
connected.c | -rw-r--r-- | 4.6 KB |
connected.h | -rw-r--r-- | 1.9 KB |
convert.c | -rw-r--r-- | 49.6 KB |
convert.h | -rw-r--r-- | 7.3 KB |
copy.c | -rw-r--r-- | 1.4 KB |
copy.h | -rw-r--r-- | 270 bytes |
credential.c | -rw-r--r-- | 13.5 KB |
credential.h | -rw-r--r-- | 7.0 KB |
csum-file.c | -rw-r--r-- | 5.5 KB |
csum-file.h | -rw-r--r-- | 2.1 KB |
ctype.c | -rw-r--r-- | 1016 bytes |
daemon.c | -rw-r--r-- | 34.6 KB |
date.c | -rw-r--r-- | 32.3 KB |
date.h | -rw-r--r-- | 2.1 KB |
decorate.c | -rw-r--r-- | 2.0 KB |
decorate.h | -rw-r--r-- | 1.7 KB |
delta-islands.c | -rw-r--r-- | 12.8 KB |
delta-islands.h | -rw-r--r-- | 602 bytes |
delta.h | -rw-r--r-- | 3.4 KB |
detect-compiler | -rwxr-xr-x | 1.2 KB |
diagnose.c | -rw-r--r-- | 6.7 KB |
diagnose.h | -rw-r--r-- | 337 bytes |
diff-delta.c | -rw-r--r-- | 15.5 KB |
diff-lib.c | -rw-r--r-- | 19.1 KB |
diff-merges.c | -rw-r--r-- | 4.5 KB |
diff-merges.h | -rw-r--r-- | 687 bytes |
diff-no-index.c | -rw-r--r-- | 9.0 KB |
diff.c | -rw-r--r-- | 200.8 KB |
diff.h | -rw-r--r-- | 22.0 KB |
diffcore-break.c | -rw-r--r-- | 9.3 KB |
diffcore-delta.c | -rw-r--r-- | 5.5 KB |
diffcore-order.c | -rw-r--r-- | 2.4 KB |
diffcore-pickaxe.c | -rw-r--r-- | 7.1 KB |
diffcore-rename.c | -rw-r--r-- | 51.4 KB |
diffcore-rotate.c | -rw-r--r-- | 1.0 KB |
diffcore.h | -rw-r--r-- | 7.6 KB |
dir-iterator.c | -rw-r--r-- | 5.7 KB |
dir-iterator.h | -rw-r--r-- | 3.6 KB |
dir.c | -rw-r--r-- | 109.0 KB |
dir.h | -rw-r--r-- | 20.3 KB |
editor.c | -rw-r--r-- | 3.9 KB |
editor.h | -rw-r--r-- | 1.1 KB |
entry.c | -rw-r--r-- | 15.3 KB |
entry.h | -rw-r--r-- | 2.2 KB |
environment.c | -rw-r--r-- | 11.3 KB |
environment.h | -rw-r--r-- | 7.6 KB |
exec-cmd.c | -rw-r--r-- | 8.1 KB |
exec-cmd.h | -rw-r--r-- | 475 bytes |
fetch-negotiator.c | -rw-r--r-- | 712 bytes |
fetch-negotiator.h | -rw-r--r-- | 1.8 KB |
fetch-pack.c | -rw-r--r-- | 62.3 KB |
fetch-pack.h | -rw-r--r-- | 3.1 KB |
fmt-merge-msg.c | -rw-r--r-- | 18.4 KB |
fmt-merge-msg.h | -rw-r--r-- | 482 bytes |
fsck.c | -rw-r--r-- | 38.0 KB |
fsck.h | -rw-r--r-- | 7.5 KB |
fsmonitor--daemon.h | -rw-r--r-- | 5.7 KB |
fsmonitor-ipc.c | -rw-r--r-- | 4.0 KB |
fsmonitor-ipc.h | -rw-r--r-- | 1.3 KB |
fsmonitor-ll.h | -rw-r--r-- | 1.5 KB |
fsmonitor-path-utils.h | -rw-r--r-- | 1.4 KB |
fsmonitor-settings.c | -rw-r--r-- | 7.2 KB |
fsmonitor-settings.h | -rw-r--r-- | 1.8 KB |
fsmonitor.c | -rw-r--r-- | 18.2 KB |
fsmonitor.h | -rw-r--r-- | 2.5 KB |
generate-cmdlist.sh | -rwxr-xr-x | 1.7 KB |
generate-configlist.sh | -rwxr-xr-x | 370 bytes |
generate-hooklist.sh | -rwxr-xr-x | 299 bytes |
gettext.c | -rw-r--r-- | 3.2 KB |
gettext.h | -rw-r--r-- | 1.4 KB |
git-archimport.perl | -rwxr-xr-x | 36.1 KB |
git-compat-util.h | -rw-r--r-- | 40.2 KB |
git-curl-compat.h | -rw-r--r-- | 3.8 KB |
git-cvsexportcommit.perl | -rwxr-xr-x | 12.8 KB |
git-cvsimport.perl | -rwxr-xr-x | 31.3 KB |
git-cvsserver.perl | -rwxr-xr-x | 159.9 KB |
git-difftool--helper.sh | -rwxr-xr-x | 2.5 KB |
git-filter-branch.sh | -rwxr-xr-x | 15.5 KB |
git-instaweb.sh | -rwxr-xr-x | 21.6 KB |
git-merge-octopus.sh | -rwxr-xr-x | 2.4 KB |
git-merge-one-file.sh | -rwxr-xr-x | 3.6 KB |
git-merge-resolve.sh | -rwxr-xr-x | 1.2 KB |
git-mergetool--lib.sh | -rw-r--r-- | 10.5 KB |
git-mergetool.sh | -rwxr-xr-x | 11.4 KB |
git-p4.py | -rwxr-xr-x | 168.7 KB |
git-quiltimport.sh | -rwxr-xr-x | 3.6 KB |
git-request-pull.sh | -rwxr-xr-x | 4.0 KB |
git-send-email.perl | -rwxr-xr-x | 63.7 KB |
git-sh-i18n.sh | -rw-r--r-- | 1.7 KB |
git-sh-setup.sh | -rw-r--r-- | 8.2 KB |
git-submodule.sh | -rwxr-xr-x | 10.3 KB |
git-svn.perl | -rwxr-xr-x | 62.9 KB |
git-web--browse.sh | -rwxr-xr-x | 4.3 KB |
git-zlib.c | -rw-r--r-- | 6.2 KB |
git-zlib.h | -rw-r--r-- | 822 bytes |
git.c | -rw-r--r-- | 27.4 KB |
git.rc | -rw-r--r-- | 635 bytes |
gpg-interface.c | -rw-r--r-- | 29.4 KB |
gpg-interface.h | -rw-r--r-- | 2.4 KB |
graph.c | -rw-r--r-- | 40.2 KB |
graph.h | -rw-r--r-- | 8.7 KB |
grep.c | -rw-r--r-- | 49.1 KB |
grep.h | -rw-r--r-- | 6.6 KB |
hash-ll.h | -rw-r--r-- | 9.0 KB |
hash-lookup.c | -rw-r--r-- | 3.3 KB |
hash-lookup.h | -rw-r--r-- | 1.3 KB |
hash.h | -rw-r--r-- | 2.4 KB |
hashmap.c | -rw-r--r-- | 8.4 KB |
hashmap.h | -rw-r--r-- | 19.1 KB |
help.c | -rw-r--r-- | 20.7 KB |
help.h | -rw-r--r-- | 3.3 KB |
hex-ll.c | -rw-r--r-- | 1.8 KB |
hex-ll.h | -rw-r--r-- | 708 bytes |
hex.c | -rw-r--r-- | 2.7 KB |
hex.h | -rw-r--r-- | 2.7 KB |
hook.c | -rw-r--r-- | 4.0 KB |
hook.h | -rw-r--r-- | 2.4 KB |
http-backend.c | -rw-r--r-- | 19.3 KB |
http-fetch.c | -rw-r--r-- | 4.4 KB |
http-push.c | -rw-r--r-- | 50.1 KB |
http-walker.c | -rw-r--r-- | 14.9 KB |
http.c | -rw-r--r-- | 71.6 KB |
http.h | -rw-r--r-- | 7.1 KB |
ident.c | -rw-r--r-- | 17.7 KB |
ident.h | -rw-r--r-- | 1.9 KB |
imap-send.c | -rw-r--r-- | 36.8 KB |
iterator.h | -rw-r--r-- | 2.1 KB |
json-writer.c | -rw-r--r-- | 8.5 KB |
json-writer.h | -rw-r--r-- | 4.2 KB |
khash.h | -rw-r--r-- | 12.7 KB |
kwset.c | -rw-r--r-- | 22.2 KB |
kwset.h | -rw-r--r-- | 2.6 KB |
levenshtein.c | -rw-r--r-- | 2.5 KB |
levenshtein.h | -rw-r--r-- | 203 bytes |
line-log.c | -rw-r--r-- | 33.2 KB |
line-log.h | -rw-r--r-- | 1.8 KB |
line-range.c | -rw-r--r-- | 6.6 KB |
line-range.h | -rw-r--r-- | 1.4 KB |
linear-assignment.c | -rw-r--r-- | 4.1 KB |
linear-assignment.h | -rw-r--r-- | 736 bytes |
list-objects-filter-options.c | -rw-r--r-- | 10.9 KB |
list-objects-filter-options.h | -rw-r--r-- | 5.0 KB |
list-objects-filter.c | -rw-r--r-- | 22.0 KB |
list-objects-filter.h | -rw-r--r-- | 3.2 KB |
list-objects.c | -rw-r--r-- | 11.5 KB |
list-objects.h | -rw-r--r-- | 860 bytes |
list.h | -rw-r--r-- | 5.6 KB |
lockfile.c | -rw-r--r-- | 5.7 KB |
lockfile.h | -rw-r--r-- | 11.3 KB |
log-tree.c | -rw-r--r-- | 32.7 KB |
log-tree.h | -rw-r--r-- | 1.3 KB |
ls-refs.c | -rw-r--r-- | 5.2 KB |
ls-refs.h | -rw-r--r-- | 235 bytes |
mailinfo.c | -rw-r--r-- | 28.7 KB |
mailinfo.h | -rw-r--r-- | 1.3 KB |
mailmap.c | -rw-r--r-- | 7.5 KB |
mailmap.h | -rw-r--r-- | 347 bytes |
match-trees.c | -rw-r--r-- | 8.6 KB |
match-trees.h | -rw-r--r-- | 353 bytes |
mem-pool.c | -rw-r--r-- | 4.2 KB |
mem-pool.h | -rw-r--r-- | 1.6 KB |
merge-blobs.c | -rw-r--r-- | 2.3 KB |
merge-blobs.h | -rw-r--r-- | 232 bytes |
merge-ll.c | -rw-r--r-- | 11.4 KB |
merge-ll.h | -rw-r--r-- | 3.2 KB |
merge-ort-wrappers.c | -rw-r--r-- | 1.5 KB |
merge-ort-wrappers.h | -rw-r--r-- | 638 bytes |
merge-ort.c | -rw-r--r-- | 163.6 KB |
merge-ort.h | -rw-r--r-- | 3.6 KB |
merge-recursive.c | -rw-r--r-- | 119.4 KB |
merge-recursive.h | -rw-r--r-- | 3.8 KB |
merge.c | -rw-r--r-- | 2.8 KB |
merge.h | -rw-r--r-- | 446 bytes |
mergesort.h | -rw-r--r-- | 2.9 KB |
midx.c | -rw-r--r-- | 54.9 KB |
midx.h | -rw-r--r-- | 3.0 KB |
name-hash.c | -rw-r--r-- | 19.2 KB |
name-hash.h | -rw-r--r-- | 639 bytes |
notes-cache.c | -rw-r--r-- | 2.4 KB |
notes-cache.h | -rw-r--r-- | 541 bytes |
notes-merge.c | -rw-r--r-- | 23.0 KB |
notes-merge.h | -rw-r--r-- | 2.9 KB |
notes-utils.c | -rw-r--r-- | 5.1 KB |
notes-utils.h | -rw-r--r-- | 1.5 KB |
notes.c | -rw-r--r-- | 37.8 KB |
notes.h | -rw-r--r-- | 12.6 KB |
object-file.c | -rw-r--r-- | 70.4 KB |
object-file.h | -rw-r--r-- | 4.6 KB |
object-name.c | -rw-r--r-- | 52.1 KB |
object-name.h | -rw-r--r-- | 4.9 KB |
object-store-ll.h | -rw-r--r-- | 16.5 KB |
object-store.h | -rw-r--r-- | 254 bytes |
object.c | -rw-r--r-- | 14.6 KB |
object.h | -rw-r--r-- | 8.8 KB |
oid-array.c | -rw-r--r-- | 1.8 KB |
oid-array.h | -rw-r--r-- | 4.2 KB |
oidmap.c | -rw-r--r-- | 1.5 KB |
oidmap.h | -rw-r--r-- | 2.3 KB |
oidset.c | -rw-r--r-- | 1.8 KB |
oidset.h | -rw-r--r-- | 3.1 KB |
oidtree.c | -rw-r--r-- | 2.5 KB |
oidtree.h | -rw-r--r-- | 587 bytes |
pack-bitmap-write.c | -rw-r--r-- | 20.2 KB |
pack-bitmap.c | -rw-r--r-- | 66.2 KB |
pack-bitmap.h | -rw-r--r-- | 3.8 KB |
pack-check.c | -rw-r--r-- | 5.4 KB |
pack-mtimes.c | -rw-r--r-- | 2.9 KB |
pack-mtimes.h | -rw-r--r-- | 628 bytes |
pack-objects.c | -rw-r--r-- | 5.1 KB |
pack-objects.h | -rw-r--r-- | 8.8 KB |
pack-revindex.c | -rw-r--r-- | 14.5 KB |
pack-revindex.h | -rw-r--r-- | 4.8 KB |
pack-write.c | -rw-r--r-- | 16.0 KB |
pack.h | -rw-r--r-- | 4.0 KB |
packfile.c | -rw-r--r-- | 58.5 KB |
packfile.h | -rw-r--r-- | 7.1 KB |
pager.c | -rw-r--r-- | 5.4 KB |
pager.h | -rw-r--r-- | 388 bytes |
parallel-checkout.c | -rw-r--r-- | 18.5 KB |
parallel-checkout.h | -rw-r--r-- | 3.3 KB |
parse-options-cb.c | -rw-r--r-- | 6.8 KB |
parse-options.c | -rw-r--r-- | 34.5 KB |
parse-options.h | -rw-r--r-- | 17.5 KB |
parse.c | -rw-r--r-- | 3.5 KB |
parse.h | -rw-r--r-- | 609 bytes |
patch-delta.c | -rw-r--r-- | 2.4 KB |
patch-ids.c | -rw-r--r-- | 3.7 KB |
patch-ids.h | -rw-r--r-- | 1.2 KB |
path.c | -rw-r--r-- | 39.3 KB |
path.h | -rw-r--r-- | 8.0 KB |
pathspec.c | -rw-r--r-- | 21.7 KB |
pathspec.h | -rw-r--r-- | 6.4 KB |
pkt-line.c | -rw-r--r-- | 15.8 KB |
pkt-line.h | -rw-r--r-- | 8.9 KB |
preload-index.c | -rw-r--r-- | 4.3 KB |
preload-index.h | -rw-r--r-- | 375 bytes |
pretty.c | -rw-r--r-- | 57.6 KB |
pretty.h | -rw-r--r-- | 4.7 KB |
prio-queue.c | -rw-r--r-- | 2.0 KB |
prio-queue.h | -rw-r--r-- | 1.6 KB |
progress.c | -rw-r--r-- | 9.2 KB |
progress.h | -rw-r--r-- | 852 bytes |
promisor-remote.c | -rw-r--r-- | 6.6 KB |
promisor-remote.h | -rw-r--r-- | 962 bytes |
prompt.c | -rw-r--r-- | 1.6 KB |
prompt.h | -rw-r--r-- | 223 bytes |
protocol-caps.c | -rw-r--r-- | 2.6 KB |
protocol-caps.h | -rw-r--r-- | 194 bytes |
protocol.c | -rw-r--r-- | 2.6 KB |
protocol.h | -rw-r--r-- | 1.6 KB |
prune-packed.c | -rw-r--r-- | 1.0 KB |
prune-packed.h | -rw-r--r-- | 152 bytes |
quote.c | -rw-r--r-- | 12.5 KB |
quote.h | -rw-r--r-- | 3.9 KB |
range-diff.c | -rw-r--r-- | 16.1 KB |
range-diff.h | -rw-r--r-- | 711 bytes |
reachable.c | -rw-r--r-- | 8.2 KB |
reachable.h | -rw-r--r-- | 520 bytes |
read-cache-ll.h | -rw-r--r-- | 17.0 KB |
read-cache.c | -rw-r--r-- | 108.9 KB |
read-cache.h | -rw-r--r-- | 1.1 KB |
rebase-interactive.c | -rw-r--r-- | 7.8 KB |
rebase-interactive.h | -rw-r--r-- | 597 bytes |
rebase.c | -rw-r--r-- | 1.1 KB |
rebase.h | -rw-r--r-- | 226 bytes |
ref-filter.c | -rw-r--r-- | 89.6 KB |
ref-filter.h | -rw-r--r-- | 5.4 KB |
reflog-walk.c | -rw-r--r-- | 8.6 KB |
reflog-walk.h | -rw-r--r-- | 945 bytes |
reflog.c | -rw-r--r-- | 11.1 KB |
reflog.h | -rw-r--r-- | 1.3 KB |
refs.c | -rw-r--r-- | 66.4 KB |
refs.h | -rw-r--r-- | 36.5 KB |
refspec.c | -rw-r--r-- | 6.5 KB |
refspec.h | -rw-r--r-- | 2.3 KB |
remote-curl.c | -rw-r--r-- | 41.9 KB |
remote.c | -rw-r--r-- | 74.1 KB |
remote.h | -rw-r--r-- | 13.3 KB |
replace-object.c | -rw-r--r-- | 2.8 KB |
replace-object.h | -rw-r--r-- | 2.1 KB |
repo-settings.c | -rw-r--r-- | 4.3 KB |
repository.c | -rw-r--r-- | 8.4 KB |
repository.h | -rw-r--r-- | 6.7 KB |
rerere.c | -rw-r--r-- | 32.1 KB |
rerere.h | -rw-r--r-- | 1.3 KB |
reset.c | -rw-r--r-- | 5.3 KB |
reset.h | -rw-r--r-- | 1.5 KB |
resolve-undo.c | -rw-r--r-- | 4.1 KB |
resolve-undo.h | -rw-r--r-- | 666 bytes |
revision.c | -rw-r--r-- | 122.4 KB |
revision.h | -rw-r--r-- | 15.4 KB |
run-command.c | -rw-r--r-- | 43.2 KB |
run-command.h | -rw-r--r-- | 18.4 KB |
sane-ctype.h | -rw-r--r-- | 1.8 KB |
scalar.c | -rw-r--r-- | 23.6 KB |
send-pack.c | -rw-r--r-- | 19.8 KB |
send-pack.h | -rw-r--r-- | 914 bytes |
sequencer.c | -rw-r--r-- | 180.0 KB |
sequencer.h | -rw-r--r-- | 8.3 KB |
serve.c | -rw-r--r-- | 8.0 KB |
serve.h | -rw-r--r-- | 150 bytes |
server-info.c | -rw-r--r-- | 7.7 KB |
server-info.h | -rw-r--r-- | 129 bytes |
setup.c | -rw-r--r-- | 60.6 KB |
setup.h | -rw-r--r-- | 6.8 KB |
sh-i18n--envsubst.c | -rw-r--r-- | 10.2 KB |
sha1dc_git.c | -rw-r--r-- | 940 bytes |
sha1dc_git.h | -rw-r--r-- | 690 bytes |
shallow.c | -rw-r--r-- | 22.4 KB |
shallow.h | -rw-r--r-- | 2.6 KB |
shared.mak | -rw-r--r-- | 3.3 KB |
shell.c | -rw-r--r-- | 5.5 KB |
shortlog.h | -rw-r--r-- | 788 bytes |
sideband.c | -rw-r--r-- | 6.7 KB |
sideband.h | -rw-r--r-- | 1.0 KB |
sigchain.c | -rw-r--r-- | 1.1 KB |
sigchain.h | -rw-r--r-- | 1.7 KB |
simple-ipc.h | -rw-r--r-- | 6.7 KB |
sparse-index.c | -rw-r--r-- | 15.4 KB |
sparse-index.h | -rw-r--r-- | 1.6 KB |
split-index.c | -rw-r--r-- | 13.8 KB |
split-index.h | -rw-r--r-- | 1.2 KB |
stable-qsort.c | -rw-r--r-- | 986 bytes |
statinfo.c | -rw-r--r-- | 2.4 KB |
statinfo.h | -rw-r--r-- | 2.3 KB |
strbuf.c | -rw-r--r-- | 22.6 KB |
strbuf.h | -rw-r--r-- | 22.6 KB |
streaming.c | -rw-r--r-- | 12.6 KB |
streaming.h | -rw-r--r-- | 537 bytes |
string-list.c | -rw-r--r-- | 8.0 KB |
string-list.h | -rw-r--r-- | 10.4 KB |
strmap.c | -rw-r--r-- | 4.3 KB |
strmap.h | -rw-r--r-- | 6.8 KB |
strvec.c | -rw-r--r-- | 2.0 KB |
strvec.h | -rw-r--r-- | 2.8 KB |
sub-process.c | -rw-r--r-- | 5.6 KB |
sub-process.h | -rw-r--r-- | 3.1 KB |
submodule-config.c | -rw-r--r-- | 23.6 KB |
submodule-config.h | -rw-r--r-- | 4.4 KB |
submodule.c | -rw-r--r-- | 68.0 KB |
submodule.h | -rw-r--r-- | 6.2 KB |
symlinks.c | -rw-r--r-- | 10.0 KB |
symlinks.h | -rw-r--r-- | 737 bytes |
tag.c | -rw-r--r-- | 5.8 KB |
tag.h | -rw-r--r-- | 727 bytes |
tar.h | -rw-r--r-- | 693 bytes |
tempfile.c | -rw-r--r-- | 9.2 KB |
tempfile.h | -rw-r--r-- | 9.9 KB |
thread-utils.c | -rw-r--r-- | 2.6 KB |
thread-utils.h | -rw-r--r-- | 1.4 KB |
tmp-objdir.c | -rw-r--r-- | 7.1 KB |
tmp-objdir.h | -rw-r--r-- | 2.6 KB |
trace.c | -rw-r--r-- | 10.5 KB |
trace.h | -rw-r--r-- | 8.0 KB |
trace2.c | -rw-r--r-- | 21.2 KB |
trace2.h | -rw-r--r-- | 21.5 KB |
trailer.c | -rw-r--r-- | 31.6 KB |
trailer.h | -rw-r--r-- | 3.8 KB |
transport-helper.c | -rw-r--r-- | 42.4 KB |
transport-internal.h | -rw-r--r-- | 2.5 KB |
transport.c | -rw-r--r-- | 43.5 KB |
transport.h | -rw-r--r-- | 10.3 KB |
tree-diff.c | -rw-r--r-- | 18.7 KB |
tree-walk.c | -rw-r--r-- | 32.3 KB |
tree-walk.h | -rw-r--r-- | 6.9 KB |
tree.c | -rw-r--r-- | 5.2 KB |
tree.h | -rw-r--r-- | 1.5 KB |
unicode-width.h | -rw-r--r-- | 9.8 KB |
unimplemented.sh | -rw-r--r-- | 101 bytes |
unix-socket.c | -rw-r--r-- | 2.8 KB |
unix-socket.h | -rw-r--r-- | 370 bytes |
unix-stream-server.c | -rw-r--r-- | 2.9 KB |
unix-stream-server.h | -rw-r--r-- | 760 bytes |
unpack-trees.c | -rw-r--r-- | 84.2 KB |
unpack-trees.h | -rw-r--r-- | 3.6 KB |
upload-pack.c | -rw-r--r-- | 49.3 KB |
upload-pack.h | -rw-r--r-- | 371 bytes |
url.c | -rw-r--r-- | 2.6 KB |
url.h | -rw-r--r-- | 697 bytes |
urlmatch.c | -rw-r--r-- | 18.6 KB |
urlmatch.h | -rw-r--r-- | 2.7 KB |
usage.c | -rw-r--r-- | 7.4 KB |
userdiff.c | -rw-r--r-- | 16.1 KB |
userdiff.h | -rw-r--r-- | 1.4 KB |
utf8.c | -rw-r--r-- | 20.1 KB |
utf8.h | -rw-r--r-- | 3.6 KB |
varint.c | -rw-r--r-- | 660 bytes |
varint.h | -rw-r--r-- | 154 bytes |
version.c | -rw-r--r-- | 718 bytes |
version.h | -rw-r--r-- | 230 bytes |
versioncmp.c | -rw-r--r-- | 5.3 KB |
versioncmp.h | -rw-r--r-- | 118 bytes |
walker.c | -rw-r--r-- | 7.8 KB |
walker.h | -rw-r--r-- | 1.1 KB |
wildmatch.c | -rw-r--r-- | 8.0 KB |
wildmatch.h | -rw-r--r-- | 208 bytes |
worktree.c | -rw-r--r-- | 21.0 KB |
worktree.h | -rw-r--r-- | 6.5 KB |
wrap-for-bin.sh | -rw-r--r-- | 946 bytes |
wrapper.c | -rw-r--r-- | 16.9 KB |
wrapper.h | -rw-r--r-- | 4.8 KB |
write-or-die.c | -rw-r--r-- | 2.4 KB |
write-or-die.h | -rw-r--r-- | 2.4 KB |
ws.c | -rw-r--r-- | 9.4 KB |
ws.h | -rw-r--r-- | 1.2 KB |
wt-status.c | -rw-r--r-- | 73.9 KB |
wt-status.h | -rw-r--r-- | 4.8 KB |
xdiff-interface.c | -rw-r--r-- | 7.7 KB |
xdiff-interface.h | -rw-r--r-- | 2.8 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...