aboutsummaryrefslogtreecommitdiff
path: root/branch.h
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2011-12-26 12:16:56 -0400
committerJunio C Hamano <gitster@pobox.com>2012-01-03 16:13:14 -0800
commit96890f4c428ed62cf52c11aba5773d364a8d6234 (patch)
treef28b7b8a60ccb3f88442274fb100ae555886f9e4 /branch.h
parentec330158ec04849fe5ff2cb8749797cd63ae592b (diff)
downloadgit-96890f4c428ed62cf52c11aba5773d364a8d6234.tar.gz
git-96890f4c428ed62cf52c11aba5773d364a8d6234.tar.xz
write first for-merge ref to FETCH_HEAD first
The FETCH_HEAD refname is supposed to refer to the ref that was fetched and should be merged. However all fetched refs are written to .git/FETCH_HEAD in an arbitrary order, and resolve_ref_unsafe simply takes the first ref as the FETCH_HEAD, which is often the wrong one, when other branches were also fetched. The solution is to write the for-merge ref(s) to FETCH_HEAD first. Then, unless --append is used, the FETCH_HEAD refname behaves as intended. If the user uses --append, they presumably are doing so in order to preserve the old FETCH_HEAD. While we are at it, update an old example in the read-tree documentation that implied that each entry in FETCH_HEAD only has the object name, which is not true for quite a while. [jc: adjusted tests] Signed-off-by: Joey Hess <joey@kitenet.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'branch.h')
0 files changed, 0 insertions, 0 deletions