Merge branch 'jc/upload-pack-send-symref'
commit9907d1359ccb1e670a408e5ab91d2b6048bd997b
authorJunio C Hamano <gitster@pobox.com>
Wed, 30 Oct 2013 19:10:00 +0000 (30 12:10 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 30 Oct 2013 19:10:06 +0000 (30 12:10 -0700)
tree34b940ad8c553384f7748710a75de9f24dedf8fa
parent177f0a400955f2345c73a5c8b0459d617429ffd9
parent360a3261a471ee59760b0743bbb27d3a60849ae2
Merge branch 'jc/upload-pack-send-symref'

One long-standing flaw in the pack transfer protocol used by "git
clone" was that there was no way to tell the other end which branch
"HEAD" points at, and the receiving end needed to guess.  A new
capability has been defined in the pack protocol to convey this
information so that cloning from a repository with more than one
branches pointing at the same commit where the HEAD is at now
reliably sets the initial branch in the resulting repository.

* jc/upload-pack-send-symref:
  t5570: Update for clone-progress-to-stderr branch
  t5570: Update for symref capability
  clone: test the new HEAD detection logic
  connect: annotate refs with their symref information in get_remote_head()
  connect.c: make parse_feature_value() static
  upload-pack: send non-HEAD symbolic refs
  upload-pack: send symbolic ref information as capability
  upload-pack.c: do not pass confusing cb_data to mark_our_ref()
  t5505: fix "set-head --auto with ambiguous HEAD" test
connect.c
connect.h
t/t5601-clone.sh
upload-pack.c