Subject: Re: [PATCH] Fix overwritten remote ref on with fast-import.

From: Florian Achleitner <[email-masked]>
Date: Wed, 18 Jul 2012 00:25:06 +0200

On Tuesday 17 July 2012 16:02:12 Jonathan Nieder wrote:
> Hi,
> 
> Florian Achleitner wrote:
> > So we want the transport-helper to touch only private refs, i.e. some
> > subdir of refs/, ok.
> > On the other hand I thought we expect git-fetch to update the RHS of the
> > passed refspec (or the default one ). How?
> 
> Now I am getting confused by terminology.  By "the transport-helper"
> do you mean the remote helper (e.g., git-remote-svn) or
> transport-helper.c?

I was confused too. It should say remote-helper. 
> 
> By the "default" refspec do you mean the one specified in .git/config
> or some default when none is specified there?  "git fetch" updates
> refs according to the specified fetch refspec in
> builtin/fetch.c::store_updated_refs().

.. and I didn't realize that the two different refspecs involved here can be 
different and shall be different because they get post-processed accordingly.
I thought the remote-helper has to import according to the fetch refspec.

> 
> > Btw, whats FETCH_HEAD for?
> 
> "grep FETCH_HEAD Documentation/*.txt" gives some hints.  Most notably:
> 
> 	git-fetch(1)
> 	------------
> 	The ref names and their object names of fetched refs are stored
> 	in ".git/FETCH_HEAD".  This information is left for a later merge
> 	operation done by 'git merge'.
> 
> 	gittutorial(7)
> 	--------------
> 	Alice can peek at what Bob did without merging first, using the "fetch"
> 	command; this allows Alice to inspect what Bob did, using a special
> 	symbol "FETCH_HEAD", in order to determine if he has anything worth
> 	pulling, like this:
> 
> 	------------------------------------------------
> 	alice$ git fetch /home/bob/myrepo master
> 	alice$ git log -p HEAD..FETCH_HEAD
> 	------------------------------------------------
> 
> Hope that helps,
> Jonathan

Thanks,
Florian