Revision c716fe4bd917e013bf376a678b3a924447777b2d authored by Jeff King on 12 March 2020, 05:31:11 UTC, committed by Jeff King on 12 March 2020, 06:55:24 UTC
The credential protocol can't represent newlines in values, but URLs can embed percent-encoded newlines in various components. A previous commit taught the low-level writing routines to die() when encountering this, but we can be a little friendlier to the user by detecting them earlier and handling them gracefully. This patch teaches credential_from_url() to notice such components, issue a warning, and blank the credential (which will generally result in prompting the user for a username and password). We blank the whole credential in this case. Another option would be to blank only the invalid component. However, we're probably better off not feeding a partially-parsed URL result to a credential helper. We don't know how a given helper would handle it, so we're better off to err on the side of matching nothing rather than something unexpected. The die() call in credential_write() is _probably_ impossible to reach after this patch. Values should end up in credential structs only by URL parsing (which is covered here), or by reading credential protocol input (which by definition cannot read a newline into a value). But we should definitely keep the low-level check, as it's our final and most accurate line of defense against protocol injection attacks. Arguably it could become a BUG(), but it probably doesn't matter much either way. Note that the public interface of credential_from_url() grows a little more than we need here. We'll use the extra flexibility in a future patch to help fsck catch these cases.
1 parent 17f1c0b
File | Mode | Size |
---|---|---|
.github | ||
Documentation | ||
block-sha1 | ||
builtin | ||
ci | ||
compat | ||
contrib | ||
ewah | ||
git-gui | ||
gitk-git | ||
gitweb | ||
mergetools | ||
perl | ||
po | ||
ppc | ||
refs | ||
sha1collisiondetection @ 19d97bf | ||
sha1dc | ||
t | ||
templates | ||
vcs-svn | ||
xdiff | ||
.clang-format | -rw-r--r-- | 4.5 KB |
.gitattributes | -rw-r--r-- | 249 bytes |
.gitignore | -rw-r--r-- | 3.1 KB |
.gitmodules | -rw-r--r-- | 153 bytes |
.mailmap | -rw-r--r-- | 14.5 KB |
.travis.yml | -rw-r--r-- | 1.3 KB |
.tsan-suppressions | -rw-r--r-- | 411 bytes |
COPYING | -rw-r--r-- | 18.3 KB |
GIT-VERSION-GEN | -rwxr-xr-x | 752 bytes |
INSTALL | -rw-r--r-- | 10.0 KB |
LGPL-2.1 | -rw-r--r-- | 26.2 KB |
Makefile | -rw-r--r-- | 85.8 KB |
README.md | -rw-r--r-- | 2.9 KB |
RelNotes | l--------- | 33 bytes |
abspath.c | -rw-r--r-- | 6.8 KB |
aclocal.m4 | -rw-r--r-- | 1.4 KB |
advice.c | -rw-r--r-- | 4.3 KB |
advice.h | -rw-r--r-- | 1.0 KB |
alias.c | -rw-r--r-- | 1.8 KB |
alloc.c | -rw-r--r-- | 2.6 KB |
apply.c | -rw-r--r-- | 129.0 KB |
apply.h | -rw-r--r-- | 3.8 KB |
archive-tar.c | -rw-r--r-- | 12.4 KB |
archive-zip.c | -rw-r--r-- | 17.0 KB |
archive.c | -rw-r--r-- | 14.7 KB |
archive.h | -rw-r--r-- | 1.3 KB |
argv-array.c | -rw-r--r-- | 1.7 KB |
argv-array.h | -rw-r--r-- | 689 bytes |
attr.c | -rw-r--r-- | 28.5 KB |
attr.h | -rw-r--r-- | 2.2 KB |
base85.c | -rw-r--r-- | 2.8 KB |
bisect.c | -rw-r--r-- | 26.5 KB |
bisect.h | -rw-r--r-- | 1.0 KB |
blame.c | -rw-r--r-- | 49.7 KB |
blame.h | -rw-r--r-- | 5.2 KB |
blob.c | -rw-r--r-- | 401 bytes |
blob.h | -rw-r--r-- | 666 bytes |
branch.c | -rw-r--r-- | 9.9 KB |
branch.h | -rw-r--r-- | 2.5 KB |
builtin.h | -rw-r--r-- | 12.1 KB |
bulk-checkin.c | -rw-r--r-- | 7.2 KB |
bulk-checkin.h | -rw-r--r-- | 323 bytes |
bundle.c | -rw-r--r-- | 12.4 KB |
bundle.h | -rw-r--r-- | 725 bytes |
cache-tree.c | -rw-r--r-- | 17.3 KB |
cache-tree.h | -rw-r--r-- | 1.6 KB |
cache.h | -rw-r--r-- | 68.2 KB |
check-builtins.sh | -rwxr-xr-x | 596 bytes |
check-racy.c | -rw-r--r-- | 523 bytes |
check_bindir | -rwxr-xr-x | 374 bytes |
checkout.c | -rw-r--r-- | 989 bytes |
checkout.h | -rw-r--r-- | 339 bytes |
color.c | -rw-r--r-- | 8.7 KB |
color.h | -rw-r--r-- | 4.3 KB |
column.c | -rw-r--r-- | 9.7 KB |
column.h | -rw-r--r-- | 1.4 KB |
combine-diff.c | -rw-r--r-- | 40.3 KB |
command-list.txt | -rw-r--r-- | 8.8 KB |
commit-slab.h | -rw-r--r-- | 4.7 KB |
commit.c | -rw-r--r-- | 40.7 KB |
commit.h | -rw-r--r-- | 11.7 KB |
common-main.c | -rw-r--r-- | 1.1 KB |
config.c | -rw-r--r-- | 72.7 KB |
config.h | -rw-r--r-- | 9.7 KB |
config.mak.in | -rw-r--r-- | 540 bytes |
config.mak.uname | -rw-r--r-- | 16.5 KB |
configure.ac | -rw-r--r-- | 36.6 KB |
connect.c | -rw-r--r-- | 27.2 KB |
connect.h | -rw-r--r-- | 676 bytes |
connected.c | -rw-r--r-- | 3.1 KB |
connected.h | -rw-r--r-- | 1.5 KB |
convert.c | -rw-r--r-- | 39.9 KB |
convert.h | -rw-r--r-- | 3.7 KB |
copy.c | -rw-r--r-- | 1.3 KB |
credential-cache--daemon.c | -rw-r--r-- | 6.9 KB |
credential-cache.c | -rw-r--r-- | 3.2 KB |
credential-store.c | -rw-r--r-- | 5.0 KB |
credential.c | -rw-r--r-- | 8.7 KB |
credential.h | -rw-r--r-- | 1.5 KB |
csum-file.c | -rw-r--r-- | 4.1 KB |
csum-file.h | -rw-r--r-- | 1.3 KB |
ctype.c | -rw-r--r-- | 2.6 KB |
daemon.c | -rw-r--r-- | 34.7 KB |
date.c | -rw-r--r-- | 27.8 KB |
decorate.c | -rw-r--r-- | 1.8 KB |
decorate.h | -rw-r--r-- | 1.4 KB |
delta.h | -rw-r--r-- | 3.4 KB |
diff-delta.c | -rw-r--r-- | 15.5 KB |
diff-lib.c | -rw-r--r-- | 14.8 KB |
diff-no-index.c | -rw-r--r-- | 6.8 KB |
diff.c | -rw-r--r-- | 165.3 KB |
diff.h | -rw-r--r-- | 14.0 KB |
diffcore-break.c | -rw-r--r-- | 9.0 KB |
diffcore-delta.c | -rw-r--r-- | 5.4 KB |
diffcore-order.c | -rw-r--r-- | 2.4 KB |
diffcore-pickaxe.c | -rw-r--r-- | 6.3 KB |
diffcore-rename.c | -rw-r--r-- | 17.5 KB |
diffcore.h | -rw-r--r-- | 4.8 KB |
dir-iterator.c | -rw-r--r-- | 4.8 KB |
dir-iterator.h | -rw-r--r-- | 2.7 KB |
dir.c | -rw-r--r-- | 80.0 KB |
dir.h | -rw-r--r-- | 11.3 KB |
editor.c | -rw-r--r-- | 2.3 KB |
entry.c | -rw-r--r-- | 12.5 KB |
environment.c | -rw-r--r-- | 9.4 KB |
exec_cmd.c | -rw-r--r-- | 3.2 KB |
exec_cmd.h | -rw-r--r-- | 540 bytes |
fast-import.c | -rw-r--r-- | 90.2 KB |
fetch-object.c | -rw-r--r-- | 1.2 KB |
fetch-object.h | -rw-r--r-- | 250 bytes |
fetch-pack.c | -rw-r--r-- | 31.4 KB |
fetch-pack.h | -rw-r--r-- | 1.7 KB |
fmt-merge-msg.h | -rw-r--r-- | 187 bytes |
fsck.c | -rw-r--r-- | 28.7 KB |
fsck.h | -rw-r--r-- | 2.0 KB |
fsmonitor.c | -rw-r--r-- | 7.1 KB |
fsmonitor.h | -rw-r--r-- | 2.3 KB |
generate-cmdlist.sh | -rwxr-xr-x | 946 bytes |
gettext.c | -rw-r--r-- | 5.1 KB |
gettext.h | -rw-r--r-- | 2.2 KB |
git-add--interactive.perl | -rwxr-xr-x | 42.8 KB |
git-archimport.perl | -rwxr-xr-x | 36.1 KB |
git-bisect.sh | -rwxr-xr-x | 14.1 KB |
git-compat-util.h | -rw-r--r-- | 33.1 KB |
git-cvsexportcommit.perl | -rwxr-xr-x | 12.6 KB |
git-cvsimport.perl | -rwxr-xr-x | 31.3 KB |
git-cvsserver.perl | -rwxr-xr-x | 158.9 KB |
git-difftool--helper.sh | -rwxr-xr-x | 2.2 KB |
git-filter-branch.sh | -rwxr-xr-x | 15.2 KB |
git-instaweb.sh | -rwxr-xr-x | 18.1 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 | 944 bytes |
git-mergetool--lib.sh | -rw-r--r-- | 8.7 KB |
git-mergetool.sh | -rwxr-xr-x | 10.1 KB |
git-p4.py | -rwxr-xr-x | 141.8 KB |
git-parse-remote.sh | -rw-r--r-- | 2.6 KB |
git-quiltimport.sh | -rwxr-xr-x | 3.5 KB |
git-rebase--am.sh | -rw-r--r-- | 2.6 KB |
git-rebase--interactive.sh | -rw-r--r-- | 28.3 KB |
git-rebase--merge.sh | -rw-r--r-- | 4.0 KB |
git-rebase.sh | -rwxr-xr-x | 16.9 KB |
git-remote-testgit.sh | -rwxr-xr-x | 2.9 KB |
git-request-pull.sh | -rwxr-xr-x | 3.6 KB |
git-send-email.perl | -rwxr-xr-x | 54.3 KB |
git-sh-i18n.sh | -rw-r--r-- | 2.3 KB |
git-sh-setup.sh | -rw-r--r-- | 9.1 KB |
git-stash.sh | -rwxr-xr-x | 15.1 KB |
git-submodule.sh | -rwxr-xr-x | 23.4 KB |
git-svn.perl | -rwxr-xr-x | 62.9 KB |
git-web--browse.sh | -rwxr-xr-x | 4.3 KB |
git.c | -rw-r--r-- | 19.8 KB |
git.rc | -rw-r--r-- | 592 bytes |
gpg-interface.c | -rw-r--r-- | 6.3 KB |
gpg-interface.h | -rw-r--r-- | 1.2 KB |
graph.c | -rw-r--r-- | 36.3 KB |
graph.h | -rw-r--r-- | 4.9 KB |
grep.c | -rw-r--r-- | 50.3 KB |
grep.h | -rw-r--r-- | 5.6 KB |
hash.h | -rw-r--r-- | 2.9 KB |
hashmap.c | -rw-r--r-- | 7.2 KB |
hashmap.h | -rw-r--r-- | 14.2 KB |
help.c | -rw-r--r-- | 11.6 KB |
help.h | -rw-r--r-- | 1.1 KB |
hex.c | -rw-r--r-- | 2.9 KB |
http-backend.c | -rw-r--r-- | 16.6 KB |
http-fetch.c | -rw-r--r-- | 2.2 KB |
http-push.c | -rw-r--r-- | 49.8 KB |
http-walker.c | -rw-r--r-- | 15.0 KB |
http.c | -rw-r--r-- | 62.0 KB |
http.h | -rw-r--r-- | 6.5 KB |
ident.c | -rw-r--r-- | 12.5 KB |
imap-send.c | -rw-r--r-- | 36.7 KB |
iterator.h | -rw-r--r-- | 2.1 KB |
khash.h | -rw-r--r-- | 12.6 KB |
kwset.c | -rw-r--r-- | 20.5 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-- | 30.9 KB |
line-log.h | -rw-r--r-- | 1.8 KB |
line-range.c | -rw-r--r-- | 6.5 KB |
line-range.h | -rw-r--r-- | 1.3 KB |
list-objects-filter-options.c | -rw-r--r-- | 4.1 KB |
list-objects-filter-options.h | -rw-r--r-- | 2.1 KB |
list-objects-filter.c | -rw-r--r-- | 10.8 KB |
list-objects-filter.h | -rw-r--r-- | 2.6 KB |
list-objects.c | -rw-r--r-- | 9.3 KB |
list-objects.h | -rw-r--r-- | 670 bytes |
list.h | -rw-r--r-- | 5.6 KB |
ll-merge.c | -rw-r--r-- | 10.5 KB |
ll-merge.h | -rw-r--r-- | 567 bytes |
lockfile.c | -rw-r--r-- | 5.6 KB |
lockfile.h | -rw-r--r-- | 10.5 KB |
log-tree.c | -rw-r--r-- | 25.2 KB |
log-tree.h | -rw-r--r-- | 1.4 KB |
mailinfo.c | -rw-r--r-- | 26.4 KB |
mailinfo.h | -rw-r--r-- | 991 bytes |
mailmap.c | -rw-r--r-- | 8.9 KB |
mailmap.h | -rw-r--r-- | 271 bytes |
match-trees.c | -rw-r--r-- | 8.1 KB |
merge-blobs.c | -rw-r--r-- | 1.9 KB |
merge-blobs.h | -rw-r--r-- | 194 bytes |
merge-recursive.c | -rw-r--r-- | 63.8 KB |
merge-recursive.h | -rw-r--r-- | 1.6 KB |
merge.c | -rw-r--r-- | 3.2 KB |
mergesort.c | -rw-r--r-- | 1.5 KB |
mergesort.h | -rw-r--r-- | 574 bytes |
name-hash.c | -rw-r--r-- | 18.5 KB |
notes-cache.c | -rw-r--r-- | 2.2 KB |
notes-cache.h | -rw-r--r-- | 498 bytes |
notes-merge.c | -rw-r--r-- | 22.4 KB |
notes-merge.h | -rw-r--r-- | 2.8 KB |
notes-utils.c | -rw-r--r-- | 4.9 KB |
notes-utils.h | -rw-r--r-- | 1.4 KB |
notes.c | -rw-r--r-- | 36.2 KB |
notes.h | -rw-r--r-- | 11.8 KB |
object.c | -rw-r--r-- | 10.0 KB |
object.h | -rw-r--r-- | 5.4 KB |
oidmap.c | -rw-r--r-- | 1.4 KB |
oidmap.h | -rw-r--r-- | 2.1 KB |
oidset.c | -rw-r--r-- | 767 bytes |
oidset.h | -rw-r--r-- | 2.0 KB |
pack-bitmap-write.c | -rw-r--r-- | 12.2 KB |
pack-bitmap.c | -rw-r--r-- | 24.8 KB |
pack-bitmap.h | -rw-r--r-- | 1.7 KB |
pack-check.c | -rw-r--r-- | 5.5 KB |
pack-objects.c | -rw-r--r-- | 2.2 KB |
pack-objects.h | -rw-r--r-- | 2.2 KB |
pack-revindex.c | -rw-r--r-- | 5.5 KB |
pack-revindex.h | -rw-r--r-- | 323 bytes |
pack-write.c | -rw-r--r-- | 10.7 KB |
pack.h | -rw-r--r-- | 3.4 KB |
packfile.c | -rw-r--r-- | 48.7 KB |
packfile.h | -rw-r--r-- | 5.4 KB |
pager.c | -rw-r--r-- | 4.4 KB |
parse-options-cb.c | -rw-r--r-- | 5.2 KB |
parse-options.c | -rw-r--r-- | 18.6 KB |
parse-options.h | -rw-r--r-- | 10.7 KB |
patch-delta.c | -rw-r--r-- | 2.2 KB |
patch-ids.c | -rw-r--r-- | 3.2 KB |
patch-ids.h | -rw-r--r-- | 585 bytes |
path.c | -rw-r--r-- | 36.1 KB |
path.h | -rw-r--r-- | 5.1 KB |
pathspec.c | -rw-r--r-- | 16.3 KB |
pathspec.h | -rw-r--r-- | 3.2 KB |
pkt-line.c | -rw-r--r-- | 8.6 KB |
pkt-line.h | -rw-r--r-- | 4.1 KB |
preload-index.c | -rw-r--r-- | 2.8 KB |
pretty.c | -rw-r--r-- | 45.3 KB |
pretty.h | -rw-r--r-- | 3.4 KB |
prio-queue.c | -rw-r--r-- | 1.8 KB |
prio-queue.h | -rw-r--r-- | 1.5 KB |
progress.c | -rw-r--r-- | 6.1 KB |
progress.h | -rw-r--r-- | 455 bytes |
prompt.c | -rw-r--r-- | 1.4 KB |
prompt.h | -rw-r--r-- | 168 bytes |
protocol.c | -rw-r--r-- | 2.1 KB |
protocol.h | -rw-r--r-- | 1.1 KB |
quote.c | -rw-r--r-- | 11.2 KB |
quote.h | -rw-r--r-- | 3.2 KB |
reachable.c | -rw-r--r-- | 4.8 KB |
reachable.h | -rw-r--r-- | 300 bytes |
read-cache.c | -rw-r--r-- | 73.4 KB |
ref-filter.c | -rw-r--r-- | 60.7 KB |
ref-filter.h | -rw-r--r-- | 4.2 KB |
reflog-walk.c | -rw-r--r-- | 8.2 KB |
reflog-walk.h | -rw-r--r-- | 918 bytes |
refs.c | -rw-r--r-- | 51.9 KB |
refs.h | -rw-r--r-- | 28.9 KB |
remote-curl.c | -rw-r--r-- | 28.2 KB |
remote-testsvn.c | -rw-r--r-- | 8.2 KB |
remote.c | -rw-r--r-- | 60.3 KB |
remote.h | -rw-r--r-- | 8.7 KB |
replace_object.c | -rw-r--r-- | 2.9 KB |
repository.c | -rw-r--r-- | 5.6 KB |
repository.h | -rw-r--r-- | 3.1 KB |
rerere.c | -rw-r--r-- | 31.0 KB |
rerere.h | -rw-r--r-- | 1.2 KB |
resolve-undo.c | -rw-r--r-- | 4.3 KB |
resolve-undo.h | -rw-r--r-- | 612 bytes |
revision.c | -rw-r--r-- | 95.5 KB |
revision.h | -rw-r--r-- | 8.1 KB |
run-command.c | -rw-r--r-- | 38.9 KB |
run-command.h | -rw-r--r-- | 7.6 KB |
send-pack.c | -rw-r--r-- | 15.7 KB |
send-pack.h | -rw-r--r-- | 840 bytes |
sequencer.c | -rw-r--r-- | 95.8 KB |
sequencer.h | -rw-r--r-- | 2.4 KB |
server-info.c | -rw-r--r-- | 5.7 KB |
setup.c | -rw-r--r-- | 33.0 KB |
sh-i18n--envsubst.c | -rw-r--r-- | 10.1 KB |
sha1-array.c | -rw-r--r-- | 1.2 KB |
sha1-array.h | -rw-r--r-- | 585 bytes |
sha1-lookup.c | -rw-r--r-- | 3.1 KB |
sha1-lookup.h | -rw-r--r-- | 1.3 KB |
sha1_file.c | -rw-r--r-- | 54.4 KB |
sha1_name.c | -rw-r--r-- | 42.5 KB |
sha1dc_git.c | -rw-r--r-- | 855 bytes |
sha1dc_git.h | -rw-r--r-- | 618 bytes |
shallow.c | -rw-r--r-- | 19.3 KB |
shell.c | -rw-r--r-- | 4.5 KB |
shortlog.h | -rw-r--r-- | 492 bytes |
show-index.c | -rw-r--r-- | 2.2 KB |
sideband.c | -rw-r--r-- | 3.1 KB |
sideband.h | -rw-r--r-- | 259 bytes |
sigchain.c | -rw-r--r-- | 1.1 KB |
sigchain.h | -rw-r--r-- | 247 bytes |
split-index.c | -rw-r--r-- | 9.6 KB |
split-index.h | -rw-r--r-- | 1.2 KB |
strbuf.c | -rw-r--r-- | 20.3 KB |
strbuf.h | -rw-r--r-- | 20.9 KB |
streaming.c | -rw-r--r-- | 11.8 KB |
streaming.h | -rw-r--r-- | 507 bytes |
string-list.c | -rw-r--r-- | 7.5 KB |
string-list.h | -rw-r--r-- | 10.1 KB |
sub-process.c | -rw-r--r-- | 5.4 KB |
sub-process.h | -rw-r--r-- | 3.1 KB |
submodule-config.c | -rw-r--r-- | 18.1 KB |
submodule-config.h | -rw-r--r-- | 2.0 KB |
submodule.c | -rw-r--r-- | 56.6 KB |
submodule.h | -rw-r--r-- | 5.6 KB |
symlinks.c | -rw-r--r-- | 9.3 KB |
tag.c | -rw-r--r-- | 4.5 KB |
tag.h | -rw-r--r-- | 610 bytes |
tar.h | -rw-r--r-- | 644 bytes |
tempfile.c | -rw-r--r-- | 8.3 KB |
tempfile.h | -rw-r--r-- | 9.2 KB |
thread-utils.c | -rw-r--r-- | 1.7 KB |
thread-utils.h | -rw-r--r-- | 241 bytes |
tmp-objdir.c | -rw-r--r-- | 6.4 KB |
tmp-objdir.h | -rw-r--r-- | 1.5 KB |
trace.c | -rw-r--r-- | 10.4 KB |
trace.h | -rw-r--r-- | 4.3 KB |
trailer.c | -rw-r--r-- | 28.8 KB |
trailer.h | -rw-r--r-- | 2.3 KB |
transport-helper.c | -rw-r--r-- | 36.4 KB |
transport-internal.h | -rw-r--r-- | 2.1 KB |
transport.c | -rw-r--r-- | 33.5 KB |
transport.h | -rw-r--r-- | 6.8 KB |
tree-diff.c | -rw-r--r-- | 17.9 KB |
tree-walk.c | -rw-r--r-- | 29.1 KB |
tree-walk.h | -rw-r--r-- | 3.2 KB |
tree.c | -rw-r--r-- | 6.4 KB |
tree.h | -rw-r--r-- | 1.1 KB |
unicode_width.h | -rw-r--r-- | 8.5 KB |
unimplemented.sh | -rw-r--r-- | 101 bytes |
unix-socket.c | -rw-r--r-- | 2.4 KB |
unix-socket.h | -rw-r--r-- | 158 bytes |
unpack-trees.c | -rw-r--r-- | 57.4 KB |
unpack-trees.h | -rw-r--r-- | 2.3 KB |
upload-pack.c | -rw-r--r-- | 28.4 KB |
url.c | -rw-r--r-- | 2.4 KB |
url.h | -rw-r--r-- | 492 bytes |
urlmatch.c | -rw-r--r-- | 18.1 KB |
urlmatch.h | -rw-r--r-- | 2.0 KB |
usage.c | -rw-r--r-- | 5.3 KB |
userdiff.c | -rw-r--r-- | 9.9 KB |
userdiff.h | -rw-r--r-- | 780 bytes |
utf8.c | -rw-r--r-- | 16.8 KB |
utf8.h | -rw-r--r-- | 2.4 KB |
varint.c | -rw-r--r-- | 660 bytes |
varint.h | -rw-r--r-- | 168 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.3 KB |
walker.h | -rw-r--r-- | 1.1 KB |
wildmatch.c | -rw-r--r-- | 7.8 KB |
wildmatch.h | -rw-r--r-- | 293 bytes |
worktree.c | -rw-r--r-- | 11.5 KB |
worktree.h | -rw-r--r-- | 3.0 KB |
wrap-for-bin.sh | -rw-r--r-- | 820 bytes |
wrapper.c | -rw-r--r-- | 14.9 KB |
write_or_die.c | -rw-r--r-- | 1.5 KB |
ws.c | -rw-r--r-- | 9.4 KB |
wt-status.c | -rw-r--r-- | 64.6 KB |
wt-status.h | -rw-r--r-- | 3.7 KB |
xdiff-interface.c | -rw-r--r-- | 7.3 KB |
xdiff-interface.h | -rw-r--r-- | 1.7 KB |
zlib.c | -rw-r--r-- | 6.1 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...