swh:1:snp:87728f882295b5ba27035837248a04c5be121c53
Revision ad65f7e3b71aac841d771cd75392747d6945cc3c authored by Ben Wijen on 18 August 2016, 14:51:12 UTC, committed by Junio C Hamano on 18 August 2016, 20:56:45 UTC
On Windows, a file cannot be removed unless all file handles to it have
been released. Hence it is particularly important to close handles when
spawning children (which would probably not even know that they hold on
to those handles).

The example chosen for this test is a custom merge driver that indeed
has no idea that it blocks the deletion of index.lock. The full use case
is a daemon that lives on after the merge, with subsequent invocations
handing off to the daemon, thereby avoiding hefty start-up costs. We
simulate this behavior by simply sleeping one second.

Note that the test only fails on Windows, due to the file locking issue.
Since we have no way to say "expect failure with MINGW, success
otherwise", we simply skip this test on Windows for now.

Signed-off-by: Ben Wijen <ben@wijen.net>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent e0c1cea
History
Tip revision: 6c40894d2466d4e7fddc047a05116aa9d14712ee authored by Junio C Hamano on 30 August 2021, 23:06:22 UTC
The second batch
Tip revision: 6c40894
File Mode Size
Documentation
block-sha1
builtin
ci
compat
contrib
ewah
git-gui
gitk-git
gitweb
mergetools
perl
po
ppc
refs
t
templates
vcs-svn
xdiff
.gitattributes -rw-r--r-- 114 bytes
.gitignore -rw-r--r-- 3.1 KB
.mailmap -rw-r--r-- 14.0 KB
.travis.yml -rw-r--r-- 3.5 KB
COPYING -rw-r--r-- 18.3 KB
GIT-VERSION-GEN -rwxr-xr-x 762 bytes
INSTALL -rw-r--r-- 8.9 KB
LGPL-2.1 -rw-r--r-- 26.2 KB
Makefile -rw-r--r-- 75.5 KB
README.md -rw-r--r-- 2.9 KB
RelNotes l--------- 32 bytes
abspath.c -rw-r--r-- 4.4 KB
aclocal.m4 -rw-r--r-- 1.4 KB
advice.c -rw-r--r-- 3.5 KB
advice.h -rw-r--r-- 967 bytes
alias.c -rw-r--r-- 1.5 KB
alloc.c -rw-r--r-- 2.6 KB
archive-tar.c -rw-r--r-- 11.3 KB
archive-zip.c -rw-r--r-- 15.2 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-- 19.8 KB
attr.h -rw-r--r-- 1.6 KB
base85.c -rw-r--r-- 2.8 KB
bisect.c -rw-r--r-- 24.8 KB
bisect.h -rw-r--r-- 713 bytes
blob.c -rw-r--r-- 389 bytes
blob.h -rw-r--r-- 664 bytes
branch.c -rw-r--r-- 9.3 KB
branch.h -rw-r--r-- 2.5 KB
builtin.h -rw-r--r-- 9.0 KB
bulk-checkin.c -rw-r--r-- 7.1 KB
bulk-checkin.h -rw-r--r-- 323 bytes
bundle.c -rw-r--r-- 12.3 KB
bundle.h -rw-r--r-- 707 bytes
cache-tree.c -rw-r--r-- 17.4 KB
cache-tree.h -rw-r--r-- 1.6 KB
cache.h -rw-r--r-- 65.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
color.c -rw-r--r-- 8.1 KB
color.h -rw-r--r-- 3.1 KB
column.c -rw-r--r-- 9.7 KB
column.h -rw-r--r-- 1.4 KB
combine-diff.c -rw-r--r-- 40.2 KB
command-list.txt -rw-r--r-- 8.9 KB
commit-slab.h -rw-r--r-- 4.8 KB
commit.c -rw-r--r-- 40.9 KB
commit.h -rw-r--r-- 13.2 KB
config.c -rw-r--r-- 57.3 KB
config.mak.in -rw-r--r-- 540 bytes
config.mak.uname -rw-r--r-- 16.6 KB
configure.ac -rw-r--r-- 35.1 KB
connect.c -rw-r--r-- 19.6 KB
connect.h -rw-r--r-- 676 bytes
connected.c -rw-r--r-- 3.2 KB
connected.h -rw-r--r-- 930 bytes
convert.c -rw-r--r-- 32.1 KB
convert.h -rw-r--r-- 2.5 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-- 2.9 KB
credential-store.c -rw-r--r-- 5.0 KB
credential.c -rw-r--r-- 7.8 KB
credential.h -rw-r--r-- 833 bytes
csum-file.c -rw-r--r-- 4.0 KB
csum-file.h -rw-r--r-- 1.3 KB
ctype.c -rw-r--r-- 2.6 KB
daemon.c -rw-r--r-- 31.8 KB
date.c -rw-r--r-- 26.9 KB
decorate.c -rw-r--r-- 1.8 KB
decorate.h -rw-r--r-- 400 bytes
delta.h -rw-r--r-- 3.4 KB
diff-delta.c -rw-r--r-- 15.4 KB
diff-lib.c -rw-r--r-- 14.1 KB
diff-no-index.c -rw-r--r-- 6.9 KB
diff.c -rw-r--r-- 138.7 KB
diff.h -rw-r--r-- 12.5 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.1 KB
diffcore-rename.c -rw-r--r-- 17.7 KB
diffcore.h -rw-r--r-- 4.8 KB
dir.c -rw-r--r-- 69.7 KB
dir.h -rw-r--r-- 9.7 KB
editor.c -rw-r--r-- 1.5 KB
entry.c -rw-r--r-- 7.3 KB
environment.c -rw-r--r-- 9.2 KB
exec_cmd.c -rw-r--r-- 3.0 KB
exec_cmd.h -rw-r--r-- 547 bytes
fast-import.c -rw-r--r-- 88.1 KB
fetch-pack.c -rw-r--r-- 26.7 KB
fetch-pack.h -rw-r--r-- 1.0 KB
fmt-merge-msg.h -rw-r--r-- 187 bytes
fsck.c -rw-r--r-- 21.6 KB
fsck.h -rw-r--r-- 1.7 KB
generate-cmdlist.sh -rwxr-xr-x 929 bytes
gettext.c -rw-r--r-- 5.1 KB
gettext.h -rw-r--r-- 2.2 KB
git-add--interactive.perl -rwxr-xr-x 36.6 KB
git-archimport.perl -rwxr-xr-x 36.0 KB
git-bisect.sh -rwxr-xr-x 15.6 KB
git-compat-util.h -rw-r--r-- 27.0 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.5 KB
git-difftool--helper.sh -rwxr-xr-x 2.1 KB
git-difftool.perl -rwxr-xr-x 12.2 KB
git-filter-branch.sh -rwxr-xr-x 12.5 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-- 7.8 KB
git-mergetool.sh -rwxr-xr-x 9.5 KB
git-p4.py -rwxr-xr-x 136.2 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.4 KB
git-rebase--interactive.sh -rw-r--r-- 33.4 KB
git-rebase--merge.sh -rw-r--r-- 3.8 KB
git-rebase.sh -rwxr-xr-x 15.7 KB
git-relink.perl -rwxr-xr-x 4.0 KB
git-remote-testgit.sh -rwxr-xr-x 2.9 KB
git-request-pull.sh -rwxr-xr-x 3.8 KB
git-send-email.perl -rwxr-xr-x 48.4 KB
git-sh-i18n.sh -rw-r--r-- 2.0 KB
git-sh-setup.sh -rw-r--r-- 8.2 KB
git-stash.sh -rwxr-xr-x 13.8 KB
git-submodule.sh -rwxr-xr-x 26.5 KB
git-svn.perl -rwxr-xr-x 62.4 KB
git-web--browse.sh -rwxr-xr-x 4.3 KB
git.c -rw-r--r-- 19.9 KB
git.rc -rw-r--r-- 566 bytes
gpg-interface.c -rw-r--r-- 6.5 KB
gpg-interface.h -rw-r--r-- 1.2 KB
graph.c -rw-r--r-- 34.5 KB
graph.h -rw-r--r-- 4.0 KB
grep.c -rw-r--r-- 43.5 KB
grep.h -rw-r--r-- 4.7 KB
hashmap.c -rw-r--r-- 6.3 KB
hashmap.h -rw-r--r-- 2.5 KB
help.c -rw-r--r-- 11.7 KB
help.h -rw-r--r-- 1.1 KB
hex.c -rw-r--r-- 2.6 KB
http-backend.c -rw-r--r-- 15.7 KB
http-fetch.c -rw-r--r-- 2.3 KB
http-push.c -rw-r--r-- 49.7 KB
http-walker.c -rw-r--r-- 13.9 KB
http.c -rw-r--r-- 52.0 KB
http.h -rw-r--r-- 6.3 KB
ident.c -rw-r--r-- 12.1 KB
imap-send.c -rw-r--r-- 35.7 KB
khash.h -rw-r--r-- 12.6 KB
kwset.c -rw-r--r-- 20.5 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-- 30.5 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.c -rw-r--r-- 6.0 KB
list-objects.h -rw-r--r-- 381 bytes
ll-merge.c -rw-r--r-- 10.6 KB
ll-merge.h -rw-r--r-- 567 bytes
lockfile.c -rw-r--r-- 5.4 KB
lockfile.h -rw-r--r-- 10.0 KB
log-tree.c -rw-r--r-- 24.4 KB
log-tree.h -rw-r--r-- 1.2 KB
mailinfo.c -rw-r--r-- 23.5 KB
mailinfo.h -rw-r--r-- 955 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-- 58.1 KB
merge-recursive.h -rw-r--r-- 1.6 KB
merge.c -rw-r--r-- 2.4 KB
mergesort.c -rw-r--r-- 1.5 KB
mergesort.h -rw-r--r-- 574 bytes
name-hash.c -rw-r--r-- 5.9 KB
notes-cache.c -rw-r--r-- 2.2 KB
notes-cache.h -rw-r--r-- 500 bytes
notes-merge.c -rw-r--r-- 22.6 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.6 KB
notes.h -rw-r--r-- 11.7 KB
object.c -rw-r--r-- 9.6 KB
object.h -rw-r--r-- 4.5 KB
pack-bitmap-write.c -rw-r--r-- 12.3 KB
pack-bitmap.c -rw-r--r-- 24.9 KB
pack-bitmap.h -rw-r--r-- 1.7 KB
pack-check.c -rw-r--r-- 5.4 KB
pack-objects.c -rw-r--r-- 2.1 KB
pack-objects.h -rw-r--r-- 1.9 KB
pack-revindex.c -rw-r--r-- 5.7 KB
pack-revindex.h -rw-r--r-- 323 bytes
pack-write.c -rw-r--r-- 10.3 KB
pack.h -rw-r--r-- 3.2 KB
pager.c -rw-r--r-- 3.6 KB
parse-options-cb.c -rw-r--r-- 4.9 KB
parse-options.c -rw-r--r-- 17.4 KB
parse-options.h -rw-r--r-- 9.8 KB
patch-delta.c -rw-r--r-- 2.2 KB
patch-ids.c -rw-r--r-- 2.4 KB
patch-ids.h -rw-r--r-- 591 bytes
path.c -rw-r--r-- 29.4 KB
pathspec.c -rw-r--r-- 14.1 KB
pathspec.h -rw-r--r-- 3.2 KB
pkt-line.c -rw-r--r-- 5.4 KB
pkt-line.h -rw-r--r-- 3.0 KB
preload-index.c -rw-r--r-- 2.5 KB
pretty.c -rw-r--r-- 44.5 KB
prio-queue.c -rw-r--r-- 1.9 KB
prio-queue.h -rw-r--r-- 1.5 KB
progress.c -rw-r--r-- 6.3 KB
progress.h -rw-r--r-- 504 bytes
prompt.c -rw-r--r-- 1.4 KB
prompt.h -rw-r--r-- 168 bytes
quote.c -rw-r--r-- 10.6 KB
quote.h -rw-r--r-- 2.8 KB
reachable.c -rw-r--r-- 4.8 KB
reachable.h -rw-r--r-- 304 bytes
read-cache.c -rw-r--r-- 61.8 KB
ref-filter.c -rw-r--r-- 44.3 KB
ref-filter.h -rw-r--r-- 3.3 KB
reflog-walk.c -rw-r--r-- 8.5 KB
reflog-walk.h -rw-r--r-- 792 bytes
refs.c -rw-r--r-- 29.3 KB
refs.h -rw-r--r-- 19.7 KB
remote-curl.c -rw-r--r-- 25.7 KB
remote-testsvn.c -rw-r--r-- 8.4 KB
remote.c -rw-r--r-- 58.5 KB
remote.h -rw-r--r-- 8.1 KB
replace_object.c -rw-r--r-- 3.0 KB
rerere.c -rw-r--r-- 30.9 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-- 91.1 KB
revision.h -rw-r--r-- 7.8 KB
run-command.c -rw-r--r-- 25.6 KB
run-command.h -rw-r--r-- 7.0 KB
send-pack.c -rw-r--r-- 14.0 KB
send-pack.h -rw-r--r-- 774 bytes
sequencer.c -rw-r--r-- 31.7 KB
sequencer.h -rw-r--r-- 1.1 KB
server-info.c -rw-r--r-- 5.7 KB
setup.c -rw-r--r-- 27.4 KB
sh-i18n--envsubst.c -rw-r--r-- 10.3 KB
sha1-array.c -rw-r--r-- 1.2 KB
sha1-array.h -rw-r--r-- 583 bytes
sha1-lookup.c -rw-r--r-- 9.2 KB
sha1-lookup.h -rw-r--r-- 403 bytes
sha1_file.c -rw-r--r-- 90.7 KB
sha1_name.c -rw-r--r-- 36.7 KB
shallow.c -rw-r--r-- 17.2 KB
shell.c -rw-r--r-- 5.1 KB
shortlog.h -rw-r--r-- 463 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.0 KB
split-index.h -rw-r--r-- 1.1 KB
strbuf.c -rw-r--r-- 18.2 KB
strbuf.h -rw-r--r-- 19.1 KB
streaming.c -rw-r--r-- 11.8 KB
streaming.h -rw-r--r-- 504 bytes
string-list.c -rw-r--r-- 7.3 KB
string-list.h -rw-r--r-- 5.1 KB
submodule-config.c -rw-r--r-- 13.2 KB
submodule-config.h -rw-r--r-- 980 bytes
submodule.c -rw-r--r-- 31.9 KB
submodule.h -rw-r--r-- 2.7 KB
symlinks.c -rw-r--r-- 9.3 KB
tag.c -rw-r--r-- 4.4 KB
tag.h -rw-r--r-- 608 bytes
tar.h -rw-r--r-- 644 bytes
tempfile.c -rw-r--r-- 8.0 KB
tempfile.h -rw-r--r-- 9.3 KB
thread-utils.c -rw-r--r-- 1.7 KB
thread-utils.h -rw-r--r-- 241 bytes
trace.c -rw-r--r-- 10.4 KB
trace.h -rw-r--r-- 3.6 KB
trailer.c -rw-r--r-- 22.6 KB
trailer.h -rw-r--r-- 170 bytes
transport-helper.c -rw-r--r-- 35.0 KB
transport.c -rw-r--r-- 28.9 KB
transport.h -rw-r--r-- 7.6 KB
tree-diff.c -rw-r--r-- 17.9 KB
tree-walk.c -rw-r--r-- 26.7 KB
tree-walk.h -rw-r--r-- 2.8 KB
tree.c -rw-r--r-- 6.2 KB
tree.h -rw-r--r-- 1.0 KB
unicode_width.h -rw-r--r-- 6.6 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-- 51.4 KB
unpack-trees.h -rw-r--r-- 2.2 KB
update_unicode.sh -rwxr-xr-x 1.0 KB
upload-pack.c -rw-r--r-- 21.3 KB
url.c -rw-r--r-- 2.7 KB
url.h -rw-r--r-- 492 bytes
urlmatch.c -rw-r--r-- 16.5 KB
urlmatch.h -rw-r--r-- 1.9 KB
usage.c -rw-r--r-- 3.7 KB
userdiff.c -rw-r--r-- 9.2 KB
userdiff.h -rw-r--r-- 780 bytes
utf8.c -rw-r--r-- 15.9 KB
utf8.h -rw-r--r-- 2.2 KB
varint.c -rw-r--r-- 660 bytes
varint.h -rw-r--r-- 168 bytes
version.c -rw-r--r-- 651 bytes
version.h -rw-r--r-- 180 bytes
versioncmp.c -rw-r--r-- 3.4 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-- 346 bytes
worktree.c -rw-r--r-- 7.4 KB
worktree.h -rw-r--r-- 1.6 KB
wrap-for-bin.sh -rw-r--r-- 819 bytes
wrapper.c -rw-r--r-- 15.0 KB
write_or_die.c -rw-r--r-- 2.0 KB
ws.c -rw-r--r-- 9.6 KB
wt-status.c -rw-r--r-- 47.7 KB
wt-status.h -rw-r--r-- 2.9 KB
xdiff-interface.c -rw-r--r-- 7.1 KB
xdiff-interface.h -rw-r--r-- 1.1 KB
zlib.c -rw-r--r-- 6.1 KB

README.md

back to top