Jay Soffian <jaysoffian@xxxxxxxxx> writes: > On Tue, Feb 17, 2009 at 12:36 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: >> [... explanation of how git pull and git fetch communicate via FETCH_HEAD...] > > I'm aware of all that, and I apologize for not making that clear, > since I made you do lots of extra typing. :-( Your "git merge FETCH_HEAD" after fetching random set of refs by the default wildcard refspec in .git/config made me suspect you aren't. >> $ git fetch git://repo.or.cz/his.git for-linus >> $ git log -p ..FETCH_HEAD ;# to inspect >> $ git merge FETCH_HEAD >> ... > That makes sense, but I was confused why git merge goes through the > trouble of stripping out the not-for-merge tag which in the above use > case wouldn't be there. Because it is designed to handle a lot more general case of fetching all remote branches into your remote tracking branches with wildcard refspecs, and most of the entries need to be marked with not-for-merge marker. If you left only the for-merge branches, you would not have any sane way to learn what refs were fetched after you said "git fetch" (and no, looking at timestamp of files in .git/refs/remotes/origin/ is not a sensible answer). -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html