https://github.com/git/git
Revision 1572444361982199fdab9c6f6b7e94383717b6c9 authored by Johannes Schindelin on 15 January 2019, 18:23:03 UTC, committed by Johannes Schindelin on 29 January 2019, 11:05:59 UTC
The fact that Git's test suite is implemented in Unix shell script that
is as portable as we can muster, combined with the fact that Unix shell
scripting is foreign to Windows (and therefore has to be emulated),
results in pretty abysmal speed of the test suite on that platform, for
pretty much no other reason than that language choice.

For comparison: while the Linux build & test is typically done within
about 8 minutes, the Windows build & test typically lasts about 80
minutes in Azure Pipelines.

To help with that, let's use the Azure Pipeline feature where you can
parallelize jobs, make jobs depend on each other, and pass artifacts
between them.

The tests are distributed using the following heuristic: listing all
test scripts ordered by size in descending order (as a cheap way to
estimate the overall run time), every Nth script is run (where N is the
total number of parallel jobs), starting at the index corresponding to
the parallel job. This slicing is performed by a new function that is
added to the `test-tool`.

To optimize the overall runtime of the entire Pipeline, we need to move
the Windows jobs to the beginning (otherwise there would be a very
decent chance for the Pipeline to be run only the Windows build, while
all the parallel Windows test jobs wait for this single one).

We use Azure Pipelines Artifacts for both the minimal Git for Windows
SDK as well as the built executables, as deduplication and caching close
to the agents makes that really fast. For comparison: while downloading
and unpacking the minimal Git for Windows SDK via PowerShell takes only
one minute (down from anywhere between 2.5 to 7 when using a shallow
clone), uploading it as Pipeline Artifact takes less than 30s and
downloading and unpacking less than 20s (sometimes even as little as
only twelve seconds).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
1 parent 3532811
History
Tip revision: 1572444361982199fdab9c6f6b7e94383717b6c9 authored by Johannes Schindelin on 15 January 2019, 18:23:03 UTC
ci: parallelize testing on Windows
Tip revision: 1572444
File Mode Size
.github
Documentation
block-sha1
builtin
ci
compat
contrib
ewah
git-gui
gitk-git
gitweb
mergetools
negotiator
perl
po
ppc
refs
sha1collisiondetection @ 232357e
sha1dc
t
templates
vcs-svn
xdiff
.clang-format -rw-r--r-- 4.6 KB
.editorconfig -rw-r--r-- 284 bytes
.gitattributes -rw-r--r-- 529 bytes
.gitignore -rw-r--r-- 3.3 KB
.gitmodules -rw-r--r-- 153 bytes
.mailmap -rw-r--r-- 15.9 KB
.travis.yml -rw-r--r-- 1.1 KB
.tsan-suppressions -rw-r--r-- 411 bytes
COPYING -rw-r--r-- 18.3 KB
GIT-VERSION-GEN -rwxr-xr-x 754 bytes
INSTALL -rw-r--r-- 10.0 KB
LGPL-2.1 -rw-r--r-- 26.2 KB
Makefile -rw-r--r-- 94.8 KB
README.md -rw-r--r-- 3.2 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-- 5.9 KB
advice.h -rw-r--r-- 1.3 KB
alias.c -rw-r--r-- 2.1 KB
alias.h -rw-r--r-- 310 bytes
alloc.c -rw-r--r-- 3.1 KB
alloc.h -rw-r--r-- 541 bytes
apply.c -rw-r--r-- 130.5 KB
apply.h -rw-r--r-- 4.0 KB
archive-tar.c -rw-r--r-- 12.4 KB
archive-zip.c -rw-r--r-- 17.2 KB
archive.c -rw-r--r-- 15.1 KB
archive.h -rw-r--r-- 1.5 KB
argv-array.c -rw-r--r-- 2.2 KB
argv-array.h -rw-r--r-- 823 bytes
attr.c -rw-r--r-- 28.5 KB
attr.h -rw-r--r-- 2.2 KB
azure-pipelines.yml -rw-r--r-- 13.7 KB
banned.h -rw-r--r-- 795 bytes
base85.c -rw-r--r-- 2.8 KB
bisect.c -rw-r--r-- 27.0 KB
bisect.h -rw-r--r-- 1.1 KB
blame.c -rw-r--r-- 50.8 KB
blame.h -rw-r--r-- 5.3 KB
blob.c -rw-r--r-- 485 bytes
blob.h -rw-r--r-- 688 bytes
branch.c -rw-r--r-- 9.9 KB
branch.h -rw-r--r-- 2.9 KB
builtin.h -rw-r--r-- 12.7 KB
bulk-checkin.c -rw-r--r-- 7.3 KB
bulk-checkin.h -rw-r--r-- 344 bytes
bundle.c -rw-r--r-- 12.5 KB
bundle.h -rw-r--r-- 799 bytes
cache-tree.c -rw-r--r-- 19.5 KB
cache-tree.h -rw-r--r-- 2.0 KB
cache.h -rw-r--r-- 61.7 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
check-racy.c -rw-r--r-- 523 bytes
check_bindir -rwxr-xr-x 374 bytes
checkout.c -rw-r--r-- 1.9 KB
checkout.h -rw-r--r-- 376 bytes
color.c -rw-r--r-- 8.9 KB
color.h -rw-r--r-- 4.8 KB
column.c -rw-r--r-- 9.7 KB
column.h -rw-r--r-- 1.5 KB
combine-diff.c -rw-r--r-- 40.5 KB
command-list.txt -rw-r--r-- 11.0 KB
commit-graph.c -rw-r--r-- 30.3 KB
commit-graph.h -rw-r--r-- 2.0 KB
commit-reach.c -rw-r--r-- 18.8 KB
commit-reach.h -rw-r--r-- 3.1 KB
commit-slab-decl.h -rw-r--r-- 1.3 KB
commit-slab-impl.h -rw-r--r-- 2.7 KB
commit-slab.h -rw-r--r-- 1.8 KB
commit.c -rw-r--r-- 38.8 KB
commit.h -rw-r--r-- 12.6 KB
common-main.c -rw-r--r-- 1.1 KB
config.c -rw-r--r-- 79.1 KB
config.h -rw-r--r-- 10.8 KB
config.mak.dev -rw-r--r-- 1.4 KB
config.mak.in -rw-r--r-- 540 bytes
config.mak.uname -rw-r--r-- 17.8 KB
configure.ac -rw-r--r-- 36.8 KB
connect.c -rw-r--r-- 32.0 KB
connect.h -rw-r--r-- 961 bytes
connected.c -rw-r--r-- 3.2 KB
connected.h -rw-r--r-- 1.7 KB
convert.c -rw-r--r-- 48.1 KB
convert.h -rw-r--r-- 4.0 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-- 7.9 KB
credential.h -rw-r--r-- 833 bytes
csum-file.c -rw-r--r-- 4.1 KB
csum-file.h -rw-r--r-- 1.4 KB
ctype.c -rw-r--r-- 2.6 KB
daemon.c -rw-r--r-- 34.7 KB
date.c -rw-r--r-- 28.0 KB
decorate.c -rw-r--r-- 1.8 KB
decorate.h -rw-r--r-- 1.4 KB
delta-islands.c -rw-r--r-- 11.7 KB
delta-islands.h -rw-r--r-- 558 bytes
delta.h -rw-r--r-- 3.4 KB
detect-compiler -rwxr-xr-x 1016 bytes
diff-delta.c -rw-r--r-- 15.5 KB
diff-lib.c -rw-r--r-- 15.2 KB
diff-no-index.c -rw-r--r-- 6.9 KB
diff.c -rw-r--r-- 175.9 KB
diff.h -rw-r--r-- 14.6 KB
diffcore-break.c -rw-r--r-- 9.1 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-- 6.6 KB
diffcore-rename.c -rw-r--r-- 17.8 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-- 81.0 KB
dir.h -rw-r--r-- 11.9 KB
editor.c -rw-r--r-- 2.8 KB
entry.c -rw-r--r-- 13.4 KB
environment.c -rw-r--r-- 10.8 KB
exec-cmd.c -rw-r--r-- 8.0 KB
exec-cmd.h -rw-r--r-- 539 bytes
fast-import.c -rw-r--r-- 84.3 KB
fetch-negotiator.c -rw-r--r-- 545 bytes
fetch-negotiator.h -rw-r--r-- 1.6 KB
fetch-object.c -rw-r--r-- 1.0 KB
fetch-object.h -rw-r--r-- 166 bytes
fetch-pack.c -rw-r--r-- 44.4 KB
fetch-pack.h -rw-r--r-- 2.9 KB
fmt-merge-msg.h -rw-r--r-- 187 bytes
fsck.c -rw-r--r-- 28.9 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
fuzz-pack-headers.c -rw-r--r-- 309 bytes
fuzz-pack-idx.c -rw-r--r-- 277 bytes
generate-cmdlist.sh -rwxr-xr-x 1.6 KB
gettext.c -rw-r--r-- 5.4 KB
gettext.h -rw-r--r-- 2.2 KB
git-add--interactive.perl -rwxr-xr-x 43.0 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-- 34.2 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.4 KB
git-instaweb.sh -rwxr-xr-x 18.1 KB
git-legacy-rebase.sh -rwxr-xr-x 19.4 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.8 KB
git-mergetool.sh -rwxr-xr-x 10.2 KB
git-p4.py -rwxr-xr-x 153.2 KB
git-parse-remote.sh -rw-r--r-- 2.6 KB
git-quiltimport.sh -rwxr-xr-x 3.6 KB
git-rebase--am.sh -rw-r--r-- 1.6 KB
git-rebase--common.sh -rw-r--r-- 1.9 KB
git-rebase--merge.sh -rw-r--r-- 3.5 KB
git-rebase--preserve-merges.sh -rw-r--r-- 27.3 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 56.0 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.6 KB
git-submodule.sh -rwxr-xr-x 22.7 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-- 23.7 KB
git.rc -rw-r--r-- 592 bytes
gpg-interface.c -rw-r--r-- 9.5 KB
gpg-interface.h -rw-r--r-- 1.9 KB
graph.c -rw-r--r-- 36.9 KB
graph.h -rw-r--r-- 4.9 KB
grep.c -rw-r--r-- 53.2 KB
grep.h -rw-r--r-- 5.7 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-- 19.9 KB
help.h -rw-r--r-- 3.2 KB
hex.c -rw-r--r-- 2.9 KB
http-backend.c -rw-r--r-- 18.7 KB
http-fetch.c -rw-r--r-- 1.9 KB
http-push.c -rw-r--r-- 49.9 KB
http-walker.c -rw-r--r-- 15.1 KB
http.c -rw-r--r-- 65.2 KB
http.h -rw-r--r-- 6.7 KB
ident.c -rw-r--r-- 12.6 KB
imap-send.c -rw-r--r-- 36.6 KB
interdiff.c -rw-r--r-- 660 bytes
interdiff.h -rw-r--r-- 119 bytes
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.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-- 31.1 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-- 4.4 KB
list-objects-filter-options.h -rw-r--r-- 2.1 KB
list-objects-filter.c -rw-r--r-- 12.2 KB
list-objects-filter.h -rw-r--r-- 2.9 KB
list-objects.c -rw-r--r-- 10.0 KB
list-objects.h -rw-r--r-- 718 bytes
list.h -rw-r--r-- 5.6 KB
ll-merge.c -rw-r--r-- 10.6 KB
ll-merge.h -rw-r--r-- 705 bytes
lockfile.c -rw-r--r-- 5.6 KB
lockfile.h -rw-r--r-- 10.5 KB
log-tree.c -rw-r--r-- 26.5 KB
log-tree.h -rw-r--r-- 1.4 KB
ls-refs.c -rw-r--r-- 2.1 KB
ls-refs.h -rw-r--r-- 224 bytes
mailinfo.c -rw-r--r-- 27.7 KB
mailinfo.h -rw-r--r-- 1.0 KB
mailmap.c -rw-r--r-- 8.9 KB
mailmap.h -rw-r--r-- 292 bytes
match-trees.c -rw-r--r-- 8.2 KB
mem-pool.c -rw-r--r-- 3.1 KB
mem-pool.h -rw-r--r-- 1.4 KB
merge-blobs.c -rw-r--r-- 2.0 KB
merge-blobs.h -rw-r--r-- 239 bytes
merge-recursive.c -rw-r--r-- 108.2 KB
merge-recursive.h -rw-r--r-- 2.8 KB
merge.c -rw-r--r-- 2.8 KB
mergesort.c -rw-r--r-- 1.5 KB
mergesort.h -rw-r--r-- 574 bytes
midx.c -rw-r--r-- 26.3 KB
midx.h -rw-r--r-- 1.5 KB
name-hash.c -rw-r--r-- 18.5 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.6 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.4 KB
notes.c -rw-r--r-- 36.2 KB
notes.h -rw-r--r-- 11.8 KB
object-store.h -rw-r--r-- 11.1 KB
object.c -rw-r--r-- 13.3 KB
object.h -rw-r--r-- 6.3 KB
oidmap.c -rw-r--r-- 1.4 KB
oidmap.h -rw-r--r-- 2.2 KB
oidset.c -rw-r--r-- 794 bytes
oidset.h -rw-r--r-- 2.5 KB
pack-bitmap-write.c -rw-r--r-- 12.7 KB
pack-bitmap.c -rw-r--r-- 27.1 KB
pack-bitmap.h -rw-r--r-- 2.3 KB
pack-check.c -rw-r--r-- 5.6 KB
pack-objects.c -rw-r--r-- 4.9 KB
pack-objects.h -rw-r--r-- 11.8 KB
pack-revindex.c -rw-r--r-- 5.6 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-- 53.4 KB
packfile.h -rw-r--r-- 6.6 KB
pager.c -rw-r--r-- 4.5 KB
parse-options-cb.c -rw-r--r-- 5.3 KB
parse-options.c -rw-r--r-- 19.8 KB
parse-options.h -rw-r--r-- 10.8 KB
patch-delta.c -rw-r--r-- 2.4 KB
patch-ids.c -rw-r--r-- 3.3 KB
patch-ids.h -rw-r--r-- 699 bytes
path.c -rw-r--r-- 34.2 KB
path.h -rw-r--r-- 5.8 KB
pathspec.c -rw-r--r-- 17.1 KB
pathspec.h -rw-r--r-- 3.3 KB
pkt-line.c -rw-r--r-- 10.9 KB
pkt-line.h -rw-r--r-- 6.4 KB
preload-index.c -rw-r--r-- 3.7 KB
pretty.c -rw-r--r-- 45.7 KB
pretty.h -rw-r--r-- 3.5 KB
prio-queue.c -rw-r--r-- 2.0 KB
prio-queue.h -rw-r--r-- 1.7 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
range-diff.c -rw-r--r-- 12.4 KB
range-diff.h -rw-r--r-- 415 bytes
reachable.c -rw-r--r-- 4.9 KB
reachable.h -rw-r--r-- 318 bytes
read-cache.c -rw-r--r-- 95.5 KB
rebase-interactive.c -rw-r--r-- 2.8 KB
rebase-interactive.h -rw-r--r-- 252 bytes
ref-filter.c -rw-r--r-- 65.2 KB
ref-filter.h -rw-r--r-- 4.5 KB
reflog-walk.c -rw-r--r-- 8.2 KB
reflog-walk.h -rw-r--r-- 933 bytes
refs.c -rw-r--r-- 54.9 KB
refs.h -rw-r--r-- 29.8 KB
refspec.c -rw-r--r-- 4.9 KB
refspec.h -rw-r--r-- 1.3 KB
remote-curl.c -rw-r--r-- 35.2 KB
remote-testsvn.c -rw-r--r-- 8.2 KB
remote.c -rw-r--r-- 57.4 KB
remote.h -rw-r--r-- 8.2 KB
replace-object.c -rw-r--r-- 2.0 KB
replace-object.h -rw-r--r-- 1.1 KB
repository.c -rw-r--r-- 6.2 KB
repository.h -rw-r--r-- 3.6 KB
rerere.c -rw-r--r-- 32.2 KB
rerere.h -rw-r--r-- 1.4 KB
resolve-undo.c -rw-r--r-- 4.4 KB
resolve-undo.h -rw-r--r-- 630 bytes
revision.c -rw-r--r-- 102.7 KB
revision.h -rw-r--r-- 9.7 KB
run-command.c -rw-r--r-- 39.2 KB
run-command.h -rw-r--r-- 7.6 KB
send-pack.c -rw-r--r-- 15.8 KB
send-pack.h -rw-r--r-- 893 bytes
sequencer.c -rw-r--r-- 140.1 KB
sequencer.h -rw-r--r-- 4.5 KB
serve.c -rw-r--r-- 6.2 KB
serve.h -rw-r--r-- 350 bytes
server-info.c -rw-r--r-- 5.8 KB
setup.c -rw-r--r-- 34.1 KB
sh-i18n--envsubst.c -rw-r--r-- 10.1 KB
sha1-array.c -rw-r--r-- 1.5 KB
sha1-array.h -rw-r--r-- 682 bytes
sha1-file.c -rw-r--r-- 57.2 KB
sha1-lookup.c -rw-r--r-- 3.1 KB
sha1-lookup.h -rw-r--r-- 1.3 KB
sha1-name.c -rw-r--r-- 44.4 KB
sha1dc_git.c -rw-r--r-- 855 bytes
sha1dc_git.h -rw-r--r-- 618 bytes
shallow.c -rw-r--r-- 21.0 KB
shell.c -rw-r--r-- 4.5 KB
shortlog.h -rw-r--r-- 508 bytes
sideband.c -rw-r--r-- 5.8 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-- 13.5 KB
split-index.h -rw-r--r-- 1.2 KB
strbuf.c -rw-r--r-- 21.2 KB
strbuf.h -rw-r--r-- 21.6 KB
streaming.c -rw-r--r-- 12.3 KB
streaming.h -rw-r--r-- 510 bytes
string-list.c -rw-r--r-- 7.6 KB
string-list.h -rw-r--r-- 9.8 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-- 20.5 KB
submodule-config.h -rw-r--r-- 2.5 KB
submodule.c -rw-r--r-- 52.5 KB
submodule.h -rw-r--r-- 5.4 KB
symlinks.c -rw-r--r-- 9.3 KB
tag.c -rw-r--r-- 4.9 KB
tag.h -rw-r--r-- 722 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-- 2.6 KB
thread-utils.h -rw-r--r-- 1.4 KB
tmp-objdir.c -rw-r--r-- 6.5 KB
tmp-objdir.h -rw-r--r-- 1.5 KB
trace.c -rw-r--r-- 11.6 KB
trace.h -rw-r--r-- 4.9 KB
trailer.c -rw-r--r-- 29.0 KB
trailer.h -rw-r--r-- 2.4 KB
transport-helper.c -rw-r--r-- 36.7 KB
transport-internal.h -rw-r--r-- 2.7 KB
transport.c -rw-r--r-- 37.4 KB
transport.h -rw-r--r-- 8.1 KB
tree-diff.c -rw-r--r-- 17.9 KB
tree-walk.c -rw-r--r-- 30.3 KB
tree-walk.h -rw-r--r-- 3.2 KB
tree.c -rw-r--r-- 6.6 KB
tree.h -rw-r--r-- 1.2 KB
unicode-width.h -rw-r--r-- 8.9 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-- 64.4 KB
unpack-trees.h -rw-r--r-- 2.6 KB
upload-pack.c -rw-r--r-- 37.5 KB
upload-pack.h -rw-r--r-- 513 bytes
url.c -rw-r--r-- 2.4 KB
url.h -rw-r--r-- 508 bytes
urlmatch.c -rw-r--r-- 18.1 KB
urlmatch.h -rw-r--r-- 2.0 KB
usage.c -rw-r--r-- 5.4 KB
userdiff.c -rw-r--r-- 10.0 KB
userdiff.h -rw-r--r-- 892 bytes
utf8.c -rw-r--r-- 18.7 KB
utf8.h -rw-r--r-- 3.5 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.4 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-- 13.1 KB
worktree.h -rw-r--r-- 3.8 KB
wrap-for-bin.sh -rw-r--r-- 946 bytes
wrapper.c -rw-r--r-- 14.8 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-- 66.0 KB
wt-status.h -rw-r--r-- 4.0 KB
xdiff-interface.c -rw-r--r-- 7.2 KB
xdiff-interface.h -rw-r--r-- 2.1 KB
zlib.c -rw-r--r-- 6.1 KB

README.md

back to top