Thread (11 messages) flat view 11 messages, 3 authors, 2016-06-15

[SOLVED] `git fetch tag NAME' into mirror repo does not update HEAD, what to do?

From: Brian Foster <hidden>
Date: 2016-06-15 22:49:18

On Thursday 12 August 2010 13:05:29 Tomas Carnecky wrote:
On 8/12/10 12:38 PM, Brian Foster wrote:
quoted
On Thursday 12 August 2010 10:33:13 Tomas Carnecky wrote:
[ ... ]
quoted
Fetch only fetches commits. It doesn't update any local refs (other than
FETCH_HEAD). If you want to switch HEAD to that new tag, use checkout.
Oh boy, that explanation is really bad -.- What I meant is that if
you don't supply the <dst> part of the refspec it will only update
FETCH_HEAD. So 'git fetch origin master' will not update anything
but FETCH_HEAD.
 I concur.  However, the “refspec” in this case is the obscure
 ‘tag TAGNAME’ (where the ‘tag’ is a keyword); see get-fetch(1)
 at the end of §OPTIONS where it describes “short-cut notations”.
 That does not seem to accept a :<dst>, nor would I be too sure
 what it meant if it did.
quoted
 No, a fetch in a mirror, when fetching all the way
 to the HEAD (e.g., a simple `git fetch origin'),
 does update the branch.  [ ... ]
There are different ways to invoke git fetch. Either way, fetch will
never modify HEAD. However, it can modify the branch that HEAD is
pointing to (in case HEAD is a symref). 
 Point taken, I was being sloppy.  We want the head of the
 relevant branch (master) to be updated in our bare (mirror)
 repository.
                                        But you are not fetching a
branch, you are fetching a tag. So you need to use checkout after you
fetch it. Either 'git checkout FETCH_HEAD' or 'git checkout v2'.
 NO.  ‘get checkout ...’ does not work in a bare repository.
 (You can modify my trivial posted script to prove this.)

 However, your comment got me to thinking.  This _does_ work:

    git reset --soft FETCH_HEAD

 (And, I presume without testing, so would ‘... v2’ ?)
 Given that git-reset(1)'s purpose is to change the branch's
 head (or to change HEAD as I've been incorrectly describing
 it), that does make sense.

cheers!
	-blf-
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help