From: Mark Levedahl Date: Sat, 17 Feb 2007 14:40:00 GMT Subject: Re: [PATCH] Add git-unbundle - unpack objects and references for disconnected transfer Message-ID: <45D713C0.1010401@verizon.net> In-Reply-To: <7vfy95w9sc.fsf@assigned-by-dhcp.cox.net> Junio C Hamano wrote: > I do not think your patch (original or respun) checks if it is > overwriting the current branch. Even if it is a fast forward, > it should check this condition and prevent the end user from > getting confused. The above sample command line you quoted from > my message can potentially have the same problem, but "git > fetch" checks and refuses. > True. I've been using this to mirror remote/* and tags. Making this just an alternate transport behind fetch and pull is clearly the cleanest way to deal with non-remote branches. > A final note. A real 'mirror' mode should also remove stale > refs that do not exist on the remote side anymore, which is a > different use case as your bundle, which presumably is primarily > meant to carry not all but only selected set of refs, and most > likely not the 'master' branch head (and I am guessing that that > is why you forgot to make sure you are not overwriting the > current branch in the unbundle script). A real 'mirror' mode > would use a separate option to remove a ref that does not exist > on the remote end anymore, like: > > $ git fetch --mirror-all git://git.kernel.org/pub/scm/git/git.git > Perhaps "git fetch --mirror --delete" would be more suggestive of the difference to "git fetch --mirror"? Mark