diff options
author | Joey Hess <joey@kitenet.net> | 2011-12-26 12:16:56 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-01-03 16:13:14 -0800 |
commit | 96890f4c428ed62cf52c11aba5773d364a8d6234 (patch) | |
tree | f28b7b8a60ccb3f88442274fb100ae555886f9e4 /bundle.h | |
parent | ec330158ec04849fe5ff2cb8749797cd63ae592b (diff) | |
download | git-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 'bundle.h')
0 files changed, 0 insertions, 0 deletions