Re: [PATCH] Add git-unbundle - unpack objects and references for disconnected transfer
- From
Mark Levedahl <mdl123@verizon.net>
- Date
- Feb 17, 2007, 14:40 UTC
- Message-ID
- <45D713C0.1010401@verizon.net>
- In-Reply-To
- <7vfy95w9sc.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano wrote:
Show 7 quoted lines
> 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.
Show 12 quoted lines
> 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