Mark Levedahl <mdl123@xxxxxxxxxxx> writes: >> Wouldn't it be nice if you can treat a bundle as just a >> different kind of git URL that you can "git fetch"? >> >> $ git fetch file.bdl 'refs/heads/*:refs/heads/*' >> > yes >... > > As long as I can still do a "git fetch file.bdl" and without having to > do the config stuff. I'm happy. 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. Even when the "remote" is not a bundle file, it sometimes is useful to store the refs as they are without mapping them to remotes hierarchy as the separate-remote layout does. An obvious use case is to mirror another repository as is. So it may make sense to teach --mirror to "git-fetch" so that you can say: $ git fetch --mirror file.bdl which would be a short-hand to say: $ git fetch file.bdl 'refs/*:refs/*' 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/ - 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