On 14-05-30 01:52 PM, Junio C Hamano wrote: > Marc Branchaud <marcnarc@xxxxxxxxxxx> writes: > >> On 14-05-29 06:42 PM, Junio C Hamano wrote: >>> + >>> +The names of refs that are fetched, together with the object names >>> +they point at, are written to `.git/FETCH_HEAD`. This information >>> +is used by a later merge operation done by 'git merge'. In addition, >> >> Isn't this merge stuff about pull, not fetch? > > It is true that "git pull" uses "git fetch" and .git/FETCH_HEAD is a > documented mechanism between the two to communicate what commits the > latter downloaded are to be merged by the former, and that is one of > the reasons why we had the description here in the original before > this patch. A user can also do this to refer to the tip of the > single branch she fetched: > > git fetch origin master > git log -p ..FETCH_HEAD > git merge FETCH_HEAD > > Perhaps "is used ... by 'git merge'" can be rephrased somehow, like > "can be used to refer to what was fetched"? Or we could go in the > opposite direction and be more explicit, i.e. > > "git pull" calls "git fetch" internally, and this > information is used by the former to learn what commits were > fetched by the latter. > > I dunno. Y'know, I've always been a bit confused by FETCH_HEAD, especially if the fetch updates several remote-tracking branches. The docs say that all the fetched refs are written to FETCH_HEAD (perhaps a more accurate name would have been FETCH_HEADS?). If that's truly the case, it seems weird to use FETCH_HEAD in log and merge commands. (My FETCH_HEAD file currently has 1434 lines in it -- what does that mean, and what does it imply for those log and merge commands?) Perhaps FETCH_HEAD shouldn't be mentioned at all in the introductory part of fetch's man page. M. -- 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