Revision 25ab004c53cdcfea485e5bf437aeaa74df47196d authored by Junio C Hamano on 17 October 2016, 20:25:20 UTC, committed by Junio C Hamano on 17 October 2016, 20:25:20 UTC
In order for the receiving end of "git push" to inspect the
received history and decide to reject the push, the objects sent
from the sending end need to be made available to the hook and
the mechanism for the connectivity check, and this was done
traditionally by storing the objects in the receiving repository
and letting "git gc" to expire it.  Instead, store the newly
received objects in a temporary area, and make them available by
reusing the alternate object store mechanism to them only while we
decide if we accept the check, and once we decide, either migrate
them to the repository or purge them immediately.

* jk/quarantine-received-objects:
  tmp-objdir: do not migrate files starting with '.'
  tmp-objdir: put quarantine information in the environment
  receive-pack: quarantine objects until pre-receive accepts
  tmp-objdir: introduce API for temporary object directories
  check_connected: accept an env argument
2 parent s dec0401 + 62fe0eb
History
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.2 KB
.travis.yml -rw-r--r-- 3.5 KB
COPYING -rw-r--r-- 18.3 KB
GIT-VERSION-GEN -rwxr-xr-x 767 bytes
INSTALL -rw-r--r-- 8.9 KB
LGPL-2.1 -rw-r--r-- 26.2 KB
Makefile -rw-r--r-- 77.6 KB
README.md -rw-r--r-- 2.9 KB
RelNotes l--------- 33 bytes
abspath.c -rw-r--r-- 4.4 KB
aclocal.m4 -rw-r--r-- 1.4 KB
advice.c -rw-r--r-- 4.0 KB
advice.h -rw-r--r-- 967 bytes
alias.c -rw-r--r-- 1.5 KB
alloc.c -rw-r--r-- 2.6 KB
apply.c -rw-r--r-- 128.0 KB
apply.h -rw-r--r-- 3.9 KB
archive-tar.c -rw-r--r-- 12.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-- 25.0 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-- 69.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.4 KB
color.h -rw-r--r-- 3.2 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.7 KB
commit.c -rw-r--r-- 40.7 KB
commit.h -rw-r--r-- 13.4 KB
common-main.c -rw-r--r-- 1.1 KB
config.c -rw-r--r-- 61.2 KB
config.mak.in -rw-r--r-- 540 bytes
config.mak.uname -rw-r--r-- 16.7 KB
configure.ac -rw-r--r-- 35.2 KB
connect.c -rw-r--r-- 20.5 KB
connect.h -rw-r--r-- 676 bytes
connected.c -rw-r--r-- 3.0 KB
connected.h -rw-r--r-- 1.5 KB
convert.c -rw-r--r-- 32.8 KB
convert.h -rw-r--r-- 2.6 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.7 KB
date.c -rw-r--r-- 27.1 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-- 7.0 KB
diff.c -rw-r--r-- 140.2 KB
diff.h -rw-r--r-- 12.7 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.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-- 69.7 KB
dir.h -rw-r--r-- 10.3 KB
editor.c -rw-r--r-- 1.5 KB
entry.c -rw-r--r-- 7.4 KB
environment.c -rw-r--r-- 9.4 KB
exec_cmd.c -rw-r--r-- 3.0 KB
exec_cmd.h -rw-r--r-- 547 bytes
fast-import.c -rw-r--r-- 89.3 KB
fetch-pack.c -rw-r--r-- 28.0 KB
fetch-pack.h -rw-r--r-- 1.1 KB
fmt-merge-msg.h -rw-r--r-- 187 bytes
fsck.c -rw-r--r-- 24.1 KB
fsck.h -rw-r--r-- 1.8 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.7 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-- 28.9 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.2 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-- 34.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 49.4 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 13.8 KB
git-submodule.sh -rwxr-xr-x 26.7 KB
git-svn.perl -rwxr-xr-x 62.5 KB
git-web--browse.sh -rwxr-xr-x 4.3 KB
git.c -rw-r--r-- 19.2 KB
git.rc -rw-r--r-- 566 bytes
gpg-interface.c -rw-r--r-- 6.1 KB
gpg-interface.h -rw-r--r-- 1.2 KB
graph.c -rw-r--r-- 35.5 KB
graph.h -rw-r--r-- 4.9 KB
grep.c -rw-r--r-- 43.3 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.5 KB
help.h -rw-r--r-- 1.1 KB
hex.c -rw-r--r-- 2.5 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.7 KB
http-walker.c -rw-r--r-- 13.9 KB
http.c -rw-r--r-- 56.8 KB
http.h -rw-r--r-- 6.4 KB
ident.c -rw-r--r-- 12.2 KB
imap-send.c -rw-r--r-- 35.8 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.6 KB
levenshtein.c -rw-r--r-- 2.5 KB
levenshtein.h -rw-r--r-- 203 bytes
line-log.c -rw-r--r-- 30.6 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
list.h -rw-r--r-- 4.6 KB
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.2 KB
log-tree.c -rw-r--r-- 24.9 KB
log-tree.h -rw-r--r-- 1.2 KB
mailinfo.c -rw-r--r-- 25.9 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-- 60.7 KB
merge-recursive.h -rw-r--r-- 1.6 KB
merge.c -rw-r--r-- 2.5 KB
mergesort.c -rw-r--r-- 1.5 KB
mergesort.h -rw-r--r-- 574 bytes
mru.c -rw-r--r-- 968 bytes
mru.h -rw-r--r-- 1.0 KB
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.7 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.7 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.2 KB
pack-objects.c -rw-r--r-- 2.1 KB
pack-objects.h -rw-r--r-- 2.0 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.2 KB
pack.h -rw-r--r-- 3.2 KB
pager.c -rw-r--r-- 5.7 KB
parse-options-cb.c -rw-r--r-- 5.2 KB
parse-options.c -rw-r--r-- 17.4 KB
parse-options.h -rw-r--r-- 9.9 KB
patch-delta.c -rw-r--r-- 2.2 KB
patch-ids.c -rw-r--r-- 3.1 KB
patch-ids.h -rw-r--r-- 596 bytes
path.c -rw-r--r-- 30.0 KB
pathspec.c -rw-r--r-- 14.0 KB
pathspec.h -rw-r--r-- 3.1 KB
pkt-line.c -rw-r--r-- 5.2 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.8 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-- 62.2 KB
ref-filter.c -rw-r--r-- 44.0 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-- 37.6 KB
refs.h -rw-r--r-- 20.0 KB
remote-curl.c -rw-r--r-- 26.4 KB
remote-testsvn.c -rw-r--r-- 8.3 KB
remote.c -rw-r--r-- 58.5 KB
remote.h -rw-r--r-- 8.0 KB
replace_object.c -rw-r--r-- 3.0 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-- 91.6 KB
revision.h -rw-r--r-- 7.8 KB
run-command.c -rw-r--r-- 27.9 KB
run-command.h -rw-r--r-- 7.4 KB
send-pack.c -rw-r--r-- 14.8 KB
send-pack.h -rw-r--r-- 841 bytes
sequencer.c -rw-r--r-- 33.3 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.3 KB
sha1-array.h -rw-r--r-- 592 bytes
sha1-lookup.c -rw-r--r-- 9.2 KB
sha1-lookup.h -rw-r--r-- 403 bytes
sha1_file.c -rw-r--r-- 92.4 KB
sha1_name.c -rw-r--r-- 38.7 KB
shallow.c -rw-r--r-- 19.4 KB
shell.c -rw-r--r-- 4.8 KB
shortlog.h -rw-r--r-- 476 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.6 KB
strbuf.h -rw-r--r-- 19.3 KB
streaming.c -rw-r--r-- 11.8 KB
streaming.h -rw-r--r-- 507 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.8 KB
submodule-config.h -rw-r--r-- 1.0 KB
submodule.c -rw-r--r-- 34.6 KB
submodule.h -rw-r--r-- 2.9 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.2 KB
tempfile.h -rw-r--r-- 9.5 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.1 KB
tmp-objdir.h -rw-r--r-- 1.5 KB
trace.c -rw-r--r-- 10.8 KB
trace.h -rw-r--r-- 3.6 KB
trailer.c -rw-r--r-- 22.7 KB
trailer.h -rw-r--r-- 170 bytes
transport-helper.c -rw-r--r-- 35.7 KB
transport.c -rw-r--r-- 29.3 KB
transport.h -rw-r--r-- 8.3 KB
tree-diff.c -rw-r--r-- 17.9 KB
tree-walk.c -rw-r--r-- 28.1 KB
tree-walk.h -rw-r--r-- 3.1 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-- 26.4 KB
url.c -rw-r--r-- 2.4 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-- 4.0 KB
userdiff.c -rw-r--r-- 9.6 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.4 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-- 9.1 KB
worktree.h -rw-r--r-- 2.1 KB
wrap-for-bin.sh -rw-r--r-- 819 bytes
wrapper.c -rw-r--r-- 14.5 KB
write_or_die.c -rw-r--r-- 1.7 KB
ws.c -rw-r--r-- 9.6 KB
wt-status.c -rw-r--r-- 60.1 KB
wt-status.h -rw-r--r-- 3.2 KB
xdiff-interface.c -rw-r--r-- 7.0 KB
xdiff-interface.h -rw-r--r-- 1.2 KB
zlib.c -rw-r--r-- 6.1 KB

README.md

back to top