https://github.com/git/git
Revision 150e6b0aedf57d224c3c49038c306477fa159886 authored by Patrick Steinhardt on 15 April 2024, 11:30:26 UTC, committed by Johannes Schindelin on 16 April 2024, 22:01:25 UTC
When a user performs a local clone without `--no-local`, then we end up copying the source repository into the target repository directly. To optimize this even further, we try to hardlink files into place instead of copying data over, which helps both disk usage and speed. There is an important edge case in this context though, namely when we try to hardlink symlinks from the source repository into the target repository. Depending on both platform and filesystem the resulting behaviour here can be different: - On macOS and NetBSD, calling link(3P) with a symlink target creates a hardlink to the file pointed to by the symlink. - On Linux, calling link(3P) instead creates a hardlink to the symlink itself. To unify this behaviour, 36596fd2df (clone: better handle symlinked files at .git/objects/, 2019-07-10) introduced logic to resolve symlinks before we try to link(3P) files. Consequently, the new behaviour was to always create a hard link to the target of the symlink on all platforms. Eventually though, we figured out that following symlinks like this can cause havoc when performing a local clone of a malicious repository, which resulted in CVE-2022-39253. This issue was fixed via 6f054f9fb3 (builtin/clone.c: disallow `--local` clones with symlinks, 2022-07-28), by refusing symlinks in the source repository. But even though we now shouldn't ever link symlinks anymore, the code that resolves symlinks still exists. In the best case the code does not end up doing anything because there are no symlinks anymore. In the worst case though this can be abused by an adversary that rewrites the source file after it has been checked not to be a symlink such that it actually is a symlink when we call link(3P). Thus, it is still possible to recreate CVE-2022-39253 due to this time-of-check-time-of-use bug. Remove the call to `realpath()`. This doesn't yet address the actual vulnerability, which will be handled in a subsequent commit. Reported-by: Apple Product Security <product-security@apple.com> Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
1 parent 9e06401
Tip revision: 150e6b0aedf57d224c3c49038c306477fa159886 authored by Patrick Steinhardt on 15 April 2024, 11:30:26 UTC
builtin/clone: stop resolving symlinks when copying files
builtin/clone: stop resolving symlinks when copying files
Tip revision: 150e6b0
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 | ||
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-- | 575 bytes |
.gitignore | -rw-r--r-- | 3.5 KB |
.gitmodules | -rw-r--r-- | 153 bytes |
.mailmap | -rw-r--r-- | 16.8 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.6 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-- | 7.2 KB |
aclocal.m4 | -rw-r--r-- | 1.4 KB |
add-interactive.c | -rw-r--r-- | 30.6 KB |
add-interactive.h | -rw-r--r-- | 965 bytes |
add-patch.c | -rw-r--r-- | 50.6 KB |
advice.c | -rw-r--r-- | 8.6 KB |
advice.h | -rw-r--r-- | 2.2 KB |
alias.c | -rw-r--r-- | 2.3 KB |
alias.h | -rw-r--r-- | 310 bytes |
alloc.c | -rw-r--r-- | 2.7 KB |
alloc.h | -rw-r--r-- | 486 bytes |
apply.c | -rw-r--r-- | 133.7 KB |
apply.h | -rw-r--r-- | 5.2 KB |
archive-tar.c | -rw-r--r-- | 13.8 KB |
archive-zip.c | -rw-r--r-- | 17.1 KB |
archive.c | -rw-r--r-- | 19.1 KB |
archive.h | -rw-r--r-- | 1.5 KB |
attr.c | -rw-r--r-- | 28.7 KB |
attr.h | -rw-r--r-- | 6.6 KB |
banned.h | -rw-r--r-- | 977 bytes |
base85.c | -rw-r--r-- | 2.8 KB |
bisect.c | -rw-r--r-- | 30.3 KB |
bisect.h | -rw-r--r-- | 2.4 KB |
blame.c | -rw-r--r-- | 83.0 KB |
blame.h | -rw-r--r-- | 5.6 KB |
blob.c | -rw-r--r-- | 417 bytes |
blob.h | -rw-r--r-- | 654 bytes |
bloom.c | -rw-r--r-- | 8.0 KB |
bloom.h | -rw-r--r-- | 3.0 KB |
branch.c | -rw-r--r-- | 24.6 KB |
branch.h | -rw-r--r-- | 5.5 KB |
builtin.h | -rw-r--r-- | 12.5 KB |
bulk-checkin.c | -rw-r--r-- | 10.3 KB |
bulk-checkin.h | -rw-r--r-- | 1.1 KB |
bundle-uri.c | -rw-r--r-- | 13.6 KB |
bundle-uri.h | -rw-r--r-- | 2.4 KB |
bundle.c | -rw-r--r-- | 17.0 KB |
bundle.h | -rw-r--r-- | 1.9 KB |
cache-tree.c | -rw-r--r-- | 24.4 KB |
cache-tree.h | -rw-r--r-- | 2.2 KB |
cache.h | -rw-r--r-- | 66.3 KB |
cbtree.c | -rw-r--r-- | 3.4 KB |
cbtree.h | -rw-r--r-- | 1.5 KB |
chdir-notify.c | -rw-r--r-- | 1.8 KB |
chdir-notify.h | -rw-r--r-- | 2.5 KB |
check-builtins.sh | -rwxr-xr-x | 596 bytes |
checkout.c | -rw-r--r-- | 1.9 KB |
checkout.h | -rw-r--r-- | 369 bytes |
chunk-format.c | -rw-r--r-- | 4.3 KB |
chunk-format.h | -rw-r--r-- | 2.0 KB |
color.c | -rw-r--r-- | 10.5 KB |
color.h | -rw-r--r-- | 5.3 KB |
column.c | -rw-r--r-- | 9.4 KB |
column.h | -rw-r--r-- | 1.4 KB |
combine-diff.c | -rw-r--r-- | 43.1 KB |
command-list.txt | -rw-r--r-- | 12.9 KB |
commit-graph.c | -rw-r--r-- | 69.4 KB |
commit-graph.h | -rw-r--r-- | 6.2 KB |
commit-reach.c | -rw-r--r-- | 23.8 KB |
commit-reach.h | -rw-r--r-- | 3.8 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-- | 43.6 KB |
commit.h | -rw-r--r-- | 14.2 KB |
common-main.c | -rw-r--r-- | 2.1 KB |
config.c | -rw-r--r-- | 93.8 KB |
config.h | -rw-r--r-- | 22.5 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.4 KB |
configure.ac | -rw-r--r-- | 37.3 KB |
connect.c | -rw-r--r-- | 36.0 KB |
connect.h | -rw-r--r-- | 1.2 KB |
connected.c | -rw-r--r-- | 4.5 KB |
connected.h | -rw-r--r-- | 1.9 KB |
convert.c | -rw-r--r-- | 49.4 KB |
convert.h | -rw-r--r-- | 7.3 KB |
copy.c | -rw-r--r-- | 1.3 KB |
credential.c | -rw-r--r-- | 12.2 KB |
credential.h | -rw-r--r-- | 6.4 KB |
csum-file.c | -rw-r--r-- | 5.3 KB |
csum-file.h | -rw-r--r-- | 1.9 KB |
ctype.c | -rw-r--r-- | 2.6 KB |
daemon.c | -rw-r--r-- | 34.5 KB |
date.c | -rw-r--r-- | 31.7 KB |
date.h | -rw-r--r-- | 2.2 KB |
decorate.c | -rw-r--r-- | 1.7 KB |
decorate.h | -rw-r--r-- | 1.4 KB |
delta-islands.c | -rw-r--r-- | 12.3 KB |
delta-islands.h | -rw-r--r-- | 572 bytes |
delta.h | -rw-r--r-- | 3.4 KB |
detect-compiler | -rwxr-xr-x | 997 bytes |
diagnose.c | -rw-r--r-- | 7.5 KB |
diagnose.h | -rw-r--r-- | 348 bytes |
diff-delta.c | -rw-r--r-- | 15.5 KB |
diff-lib.c | -rw-r--r-- | 18.9 KB |
diff-merges.c | -rw-r--r-- | 4.3 KB |
diff-merges.h | -rw-r--r-- | 687 bytes |
diff-no-index.c | -rw-r--r-- | 7.3 KB |
diff.c | -rw-r--r-- | 197.3 KB |
diff.h | -rw-r--r-- | 21.5 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.2 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.9 KB |
dir-iterator.h | -rw-r--r-- | 4.5 KB |
dir.c | -rw-r--r-- | 107.3 KB |
dir.h | -rw-r--r-- | 19.5 KB |
editor.c | -rw-r--r-- | 3.0 KB |
entry.c | -rw-r--r-- | 14.9 KB |
entry.h | -rw-r--r-- | 1.8 KB |
environment.c | -rw-r--r-- | 11.1 KB |
environment.h | -rw-r--r-- | 246 bytes |
exec-cmd.c | -rw-r--r-- | 8.0 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.1 KB |
fetch-pack.h | -rw-r--r-- | 3.1 KB |
fmt-merge-msg.c | -rw-r--r-- | 18.1 KB |
fmt-merge-msg.h | -rw-r--r-- | 444 bytes |
fsck.c | -rw-r--r-- | 34.8 KB |
fsck.h | -rw-r--r-- | 7.2 KB |
fsmonitor--daemon.h | -rw-r--r-- | 5.7 KB |
fsmonitor-ipc.c | -rw-r--r-- | 3.9 KB |
fsmonitor-ipc.h | -rw-r--r-- | 1.3 KB |
fsmonitor-path-utils.h | -rw-r--r-- | 1.4 KB |
fsmonitor-settings.c | -rw-r--r-- | 7.4 KB |
fsmonitor-settings.h | -rw-r--r-- | 1.8 KB |
fsmonitor.c | -rw-r--r-- | 18.1 KB |
fsmonitor.h | -rw-r--r-- | 3.7 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-add--interactive.perl | -rwxr-xr-x | 46.6 KB |
git-archimport.perl | -rwxr-xr-x | 36.1 KB |
git-bisect.sh | -rwxr-xr-x | 1.6 KB |
git-compat-util.h | -rw-r--r-- | 43.8 KB |
git-curl-compat.h | -rw-r--r-- | 4.1 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.4 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-- | 9.7 KB |
git-mergetool.sh | -rwxr-xr-x | 11.3 KB |
git-p4.py | -rwxr-xr-x | 168.5 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 | 61.3 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.2 KB |
git-svn.perl | -rwxr-xr-x | 63.1 KB |
git-web--browse.sh | -rwxr-xr-x | 4.3 KB |
git.c | -rw-r--r-- | 27.7 KB |
git.rc | -rw-r--r-- | 635 bytes |
gpg-interface.c | -rw-r--r-- | 28.6 KB |
gpg-interface.h | -rw-r--r-- | 2.5 KB |
graph.c | -rw-r--r-- | 40.1 KB |
graph.h | -rw-r--r-- | 8.7 KB |
grep.c | -rw-r--r-- | 47.3 KB |
grep.h | -rw-r--r-- | 6.4 KB |
hash-lookup.c | -rw-r--r-- | 3.2 KB |
hash-lookup.h | -rw-r--r-- | 1.3 KB |
hash.h | -rw-r--r-- | 9.3 KB |
hashmap.c | -rw-r--r-- | 8.4 KB |
hashmap.h | -rw-r--r-- | 19.8 KB |
help.c | -rw-r--r-- | 20.5 KB |
help.h | -rw-r--r-- | 3.3 KB |
hex.c | -rw-r--r-- | 4.4 KB |
hook.c | -rw-r--r-- | 3.7 KB |
hook.h | -rw-r--r-- | 2.3 KB |
http-backend.c | -rw-r--r-- | 19.0 KB |
http-fetch.c | -rw-r--r-- | 4.3 KB |
http-push.c | -rw-r--r-- | 49.8 KB |
http-walker.c | -rw-r--r-- | 14.9 KB |
http.c | -rw-r--r-- | 67.5 KB |
http.h | -rw-r--r-- | 7.1 KB |
ident.c | -rw-r--r-- | 17.6 KB |
imap-send.c | -rw-r--r-- | 36.7 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.8 KB |
kwset.c | -rw-r--r-- | 20.6 KB |
kwset.h | -rw-r--r-- | 2.5 KB |
levenshtein.c | -rw-r--r-- | 2.5 KB |
levenshtein.h | -rw-r--r-- | 203 bytes |
line-log.c | -rw-r--r-- | 32.9 KB |
line-log.h | -rw-r--r-- | 1.7 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.7 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-- | 10.8 KB |
list-objects.h | -rw-r--r-- | 860 bytes |
list.h | -rw-r--r-- | 5.6 KB |
ll-merge.c | -rw-r--r-- | 11.2 KB |
ll-merge.h | -rw-r--r-- | 3.2 KB |
lockfile.c | -rw-r--r-- | 5.6 KB |
lockfile.h | -rw-r--r-- | 11.3 KB |
log-tree.c | -rw-r--r-- | 31.6 KB |
log-tree.h | -rw-r--r-- | 1.4 KB |
ls-refs.c | -rw-r--r-- | 5.2 KB |
ls-refs.h | -rw-r--r-- | 235 bytes |
mailinfo.c | -rw-r--r-- | 28.6 KB |
mailinfo.h | -rw-r--r-- | 1.3 KB |
mailmap.c | -rw-r--r-- | 8.6 KB |
mailmap.h | -rw-r--r-- | 272 bytes |
match-trees.c | -rw-r--r-- | 8.5 KB |
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.2 KB |
merge-blobs.h | -rw-r--r-- | 232 bytes |
merge-ort-wrappers.c | -rw-r--r-- | 1.4 KB |
merge-ort-wrappers.h | -rw-r--r-- | 638 bytes |
merge-ort.c | -rw-r--r-- | 163.8 KB |
merge-ort.h | -rw-r--r-- | 3.6 KB |
merge-recursive.c | -rw-r--r-- | 118.6 KB |
merge-recursive.h | -rw-r--r-- | 3.7 KB |
merge.c | -rw-r--r-- | 2.7 KB |
mergesort.h | -rw-r--r-- | 2.9 KB |
midx.c | -rw-r--r-- | 53.5 KB |
midx.h | -rw-r--r-- | 2.9 KB |
name-hash.c | -rw-r--r-- | 19.1 KB |
notes-cache.c | -rw-r--r-- | 2.3 KB |
notes-cache.h | -rw-r--r-- | 541 bytes |
notes-merge.c | -rw-r--r-- | 22.7 KB |
notes-merge.h | -rw-r--r-- | 2.9 KB |
notes-utils.c | -rw-r--r-- | 5.0 KB |
notes-utils.h | -rw-r--r-- | 1.5 KB |
notes.c | -rw-r--r-- | 37.5 KB |
notes.h | -rw-r--r-- | 12.6 KB |
object-file.c | -rw-r--r-- | 70.3 KB |
object-name.c | -rw-r--r-- | 51.2 KB |
object-store.h | -rw-r--r-- | 17.2 KB |
object.c | -rw-r--r-- | 14.4 KB |
object.h | -rw-r--r-- | 7.3 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-- | 584 bytes |
pack-bitmap-write.c | -rw-r--r-- | 19.9 KB |
pack-bitmap.c | -rw-r--r-- | 59.2 KB |
pack-bitmap.h | -rw-r--r-- | 3.7 KB |
pack-check.c | -rw-r--r-- | 5.3 KB |
pack-mtimes.c | -rw-r--r-- | 2.9 KB |
pack-mtimes.h | -rw-r--r-- | 658 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-- | 12.9 KB |
pack-revindex.h | -rw-r--r-- | 4.2 KB |
pack-write.c | -rw-r--r-- | 15.8 KB |
pack.h | -rw-r--r-- | 4.0 KB |
packfile.c | -rw-r--r-- | 58.2 KB |
packfile.h | -rw-r--r-- | 7.0 KB |
pager.c | -rw-r--r-- | 5.3 KB |
parallel-checkout.c | -rw-r--r-- | 18.4 KB |
parallel-checkout.h | -rw-r--r-- | 3.3 KB |
parse-options-cb.c | -rw-r--r-- | 6.9 KB |
parse-options.c | -rw-r--r-- | 32.5 KB |
parse-options.h | -rw-r--r-- | 14.9 KB |
patch-delta.c | -rw-r--r-- | 2.4 KB |
patch-ids.c | -rw-r--r-- | 3.6 KB |
patch-ids.h | -rw-r--r-- | 1.2 KB |
path.c | -rw-r--r-- | 38.8 KB |
path.h | -rw-r--r-- | 5.5 KB |
pathspec.c | -rw-r--r-- | 21.4 KB |
pathspec.h | -rw-r--r-- | 5.9 KB |
pkt-line.c | -rw-r--r-- | 15.6 KB |
pkt-line.h | -rw-r--r-- | 8.9 KB |
preload-index.c | -rw-r--r-- | 4.2 KB |
pretty.c | -rw-r--r-- | 55.7 KB |
pretty.h | -rw-r--r-- | 4.8 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.1 KB |
progress.h | -rw-r--r-- | 852 bytes |
promisor-remote.c | -rw-r--r-- | 6.4 KB |
promisor-remote.h | -rw-r--r-- | 1.3 KB |
prompt.c | -rw-r--r-- | 1.6 KB |
prompt.h | -rw-r--r-- | 223 bytes |
protocol-caps.c | -rw-r--r-- | 2.5 KB |
protocol-caps.h | -rw-r--r-- | 194 bytes |
protocol.c | -rw-r--r-- | 2.5 KB |
protocol.h | -rw-r--r-- | 1.1 KB |
prune-packed.c | -rw-r--r-- | 959 bytes |
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-- | 15.7 KB |
range-diff.h | -rw-r--r-- | 711 bytes |
reachable.c | -rw-r--r-- | 6.5 KB |
reachable.h | -rw-r--r-- | 520 bytes |
read-cache.c | -rw-r--r-- | 104.4 KB |
rebase-interactive.c | -rw-r--r-- | 7.6 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-- | 75.9 KB |
ref-filter.h | -rw-r--r-- | 4.4 KB |
reflog-walk.c | -rw-r--r-- | 8.5 KB |
reflog-walk.h | -rw-r--r-- | 965 bytes |
reflog.c | -rw-r--r-- | 10.9 KB |
reflog.h | -rw-r--r-- | 1.3 KB |
refs.c | -rw-r--r-- | 64.9 KB |
refs.h | -rw-r--r-- | 35.9 KB |
refspec.c | -rw-r--r-- | 6.4 KB |
refspec.h | -rw-r--r-- | 2.3 KB |
remote-curl.c | -rw-r--r-- | 41.7 KB |
remote.c | -rw-r--r-- | 73.6 KB |
remote.h | -rw-r--r-- | 13.1 KB |
replace-object.c | -rw-r--r-- | 2.2 KB |
replace-object.h | -rw-r--r-- | 1.4 KB |
repo-settings.c | -rw-r--r-- | 3.8 KB |
repository.c | -rw-r--r-- | 8.1 KB |
repository.h | -rw-r--r-- | 6.4 KB |
rerere.c | -rw-r--r-- | 31.9 KB |
rerere.h | -rw-r--r-- | 1.4 KB |
reset.c | -rw-r--r-- | 5.2 KB |
reset.h | -rw-r--r-- | 1.5 KB |
resolve-undo.c | -rw-r--r-- | 4.5 KB |
resolve-undo.h | -rw-r--r-- | 581 bytes |
revision.c | -rw-r--r-- | 120.6 KB |
revision.h | -rw-r--r-- | 15.3 KB |
run-command.c | -rw-r--r-- | 42.9 KB |
run-command.h | -rw-r--r-- | 18.3 KB |
scalar.c | -rw-r--r-- | 22.6 KB |
send-pack.c | -rw-r--r-- | 19.6 KB |
send-pack.h | -rw-r--r-- | 914 bytes |
sequencer.c | -rw-r--r-- | 175.8 KB |
sequencer.h | -rw-r--r-- | 8.2 KB |
serve.c | -rw-r--r-- | 7.8 KB |
serve.h | -rw-r--r-- | 150 bytes |
server-info.c | -rw-r--r-- | 7.5 KB |
setup.c | -rw-r--r-- | 45.8 KB |
sh-i18n--envsubst.c | -rw-r--r-- | 10.2 KB |
sha1dc_git.c | -rw-r--r-- | 889 bytes |
sha1dc_git.h | -rw-r--r-- | 690 bytes |
shallow.c | -rw-r--r-- | 22.1 KB |
shallow.h | -rw-r--r-- | 2.6 KB |
shared.mak | -rw-r--r-- | 3.3 KB |
shell.c | -rw-r--r-- | 5.4 KB |
shortlog.h | -rw-r--r-- | 788 bytes |
sideband.c | -rw-r--r-- | 6.6 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.5 KB |
split-index.c | -rw-r--r-- | 13.7 KB |
split-index.h | -rw-r--r-- | 1.2 KB |
stable-qsort.c | -rw-r--r-- | 986 bytes |
strbuf.c | -rw-r--r-- | 25.9 KB |
strbuf.h | -rw-r--r-- | 24.0 KB |
streaming.c | -rw-r--r-- | 12.4 KB |
streaming.h | -rw-r--r-- | 513 bytes |
string-list.c | -rw-r--r-- | 7.7 KB |
string-list.h | -rw-r--r-- | 10.1 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.5 KB |
sub-process.h | -rw-r--r-- | 3.1 KB |
submodule-config.c | -rw-r--r-- | 23.1 KB |
submodule-config.h | -rw-r--r-- | 4.4 KB |
submodule.c | -rw-r--r-- | 67.5 KB |
submodule.h | -rw-r--r-- | 6.1 KB |
symlinks.c | -rw-r--r-- | 10.0 KB |
tag.c | -rw-r--r-- | 5.6 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.0 KB |
tmp-objdir.h | -rw-r--r-- | 2.6 KB |
trace.c | -rw-r--r-- | 10.4 KB |
trace.h | -rw-r--r-- | 8.1 KB |
trace2.c | -rw-r--r-- | 21.2 KB |
trace2.h | -rw-r--r-- | 21.3 KB |
trailer.c | -rw-r--r-- | 31.1 KB |
trailer.h | -rw-r--r-- | 3.8 KB |
transport-helper.c | -rw-r--r-- | 42.0 KB |
transport-internal.h | -rw-r--r-- | 2.2 KB |
transport.c | -rw-r--r-- | 41.5 KB |
transport.h | -rw-r--r-- | 9.8 KB |
tree-diff.c | -rw-r--r-- | 18.0 KB |
tree-walk.c | -rw-r--r-- | 32.4 KB |
tree-walk.h | -rw-r--r-- | 6.9 KB |
tree.c | -rw-r--r-- | 3.7 KB |
tree.h | -rw-r--r-- | 1.2 KB |
unicode-width.h | -rw-r--r-- | 9.6 KB |
unimplemented.sh | -rw-r--r-- | 101 bytes |
unix-socket.c | -rw-r--r-- | 2.7 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-- | 82.5 KB |
unpack-trees.h | -rw-r--r-- | 3.4 KB |
upload-pack.c | -rw-r--r-- | 47.0 KB |
upload-pack.h | -rw-r--r-- | 371 bytes |
url.c | -rw-r--r-- | 2.5 KB |
url.h | -rw-r--r-- | 697 bytes |
urlmatch.c | -rw-r--r-- | 18.5 KB |
urlmatch.h | -rw-r--r-- | 2.8 KB |
usage.c | -rw-r--r-- | 7.4 KB |
userdiff.c | -rw-r--r-- | 15.2 KB |
userdiff.h | -rw-r--r-- | 1.3 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.2 KB |
walker.c | -rw-r--r-- | 7.7 KB |
walker.h | -rw-r--r-- | 1.1 KB |
wildmatch.c | -rw-r--r-- | 7.8 KB |
wildmatch.h | -rw-r--r-- | 264 bytes |
worktree.c | -rw-r--r-- | 20.8 KB |
worktree.h | -rw-r--r-- | 6.3 KB |
wrap-for-bin.sh | -rw-r--r-- | 946 bytes |
wrapper.c | -rw-r--r-- | 17.1 KB |
write-or-die.c | -rw-r--r-- | 2.4 KB |
ws.c | -rw-r--r-- | 9.3 KB |
wt-status.c | -rw-r--r-- | 72.7 KB |
wt-status.h | -rw-r--r-- | 4.8 KB |
xdiff-interface.c | -rw-r--r-- | 7.6 KB |
xdiff-interface.h | -rw-r--r-- | 2.7 KB |
zlib.c | -rw-r--r-- | 6.1 KB |
Computing file changes ...