Merge branch 'nd/shallow-clone'
commit92251b1b5b5e53ac9de890105e2a2bd9d15e2ecb
authorJunio C Hamano <gitster@pobox.com>
Fri, 17 Jan 2014 20:21:14 +0000 (17 12:21 -0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 17 Jan 2014 20:21:20 +0000 (17 12:21 -0800)
treeed77d1e0ceaf2142ce14583a1b60c4af204571a0
parentd8cf714c0edf261a2bcc126fc240b10ed04a5b8d
parent3b32a7ca90b9c63f2306feb2a66b62b94c1a640f
Merge branch 'nd/shallow-clone'

Fetching from a shallow-cloned repository used to be forbidden,
primarily because the codepaths involved were not carefully vetted
and we did not bother supporting such usage. This attempts to allow
object transfer out of a shallow-cloned repository in a controlled
way (i.e. the receiver become a shallow repository with truncated
history).

* nd/shallow-clone: (31 commits)
  t5537: fix incorrect expectation in test case 10
  shallow: remove unused code
  send-pack.c: mark a file-local function static
  git-clone.txt: remove shallow clone limitations
  prune: clean .git/shallow after pruning objects
  clone: use git protocol for cloning shallow repo locally
  send-pack: support pushing from a shallow clone via http
  receive-pack: support pushing to a shallow clone via http
  smart-http: support shallow fetch/clone
  remote-curl: pass ref SHA-1 to fetch-pack as well
  send-pack: support pushing to a shallow clone
  receive-pack: allow pushes that update .git/shallow
  connected.c: add new variant that runs with --shallow-file
  add GIT_SHALLOW_FILE to propagate --shallow-file to subprocesses
  receive/send-pack: support pushing from a shallow clone
  receive-pack: reorder some code in unpack()
  fetch: add --update-shallow to accept refs that update .git/shallow
  upload-pack: make sure deepening preserves shallow roots
  fetch: support fetching from a shallow repository
  clone: support remote shallow repository
  ...
25 files changed:
Documentation/config.txt
Documentation/fetch-options.txt
builtin/clone.c
builtin/fetch-pack.c
builtin/fetch.c
builtin/gc.c
builtin/prune.c
builtin/receive-pack.c
builtin/send-pack.c
cache.h
commit.h
connect.c
connected.c
environment.c
fetch-pack.c
fetch-pack.h
git.c
remote-curl.c
remote.h
send-pack.c
shallow.c
t/t5601-clone.sh
transport-helper.c
transport.c
upload-pack.c