Carl Baldwin <[EMAIL PROTECTED]> writes: > On Fri, Jul 29, 2005 at 08:10:51AM +0000, Petr Baudis wrote: >> Exactly. I want much more freedom in pushing, the only requirement being >> that "the to-be-replaced remote head is ancestor of the to-be-pushed >> local head". I think (am I wrong?) git-send-pack localhead:remotehead >> would work just fine for me, the only thing I need is the support for >> different local and remote head names. > > Sorry to join the game so late. I've only read this thread now.
Just in case you have not noticed, the push in 0.99.4 and onwards does exactly that. Please see git-push-script.txt in the Documentation/ directory --- oops, there is no such thing. Please see git-send-pack.txt instead, and if you feel like it, I would appreciate a patch to add the missing documentation for git-push-script ;-). What's not supported well yet is the opposite --- downloading multiple refs and dealing with them. Johannes Schindelin calls this "reverse push", and I think that is really a good name to describe what it does. It takes a remote repository and possibly multiple refs, downloads the objects to complete the named remote references, and updates the local refs only if the remote refs are fast forward children of the local refs being replaced, just like "push" fast forwards the remote refs using the local refs. In other words, given <src> and <dst> repository, the following should do the same thing: On <src> repository machine, with GIT_DIR being the <src> repository: $ git push <dst> <ref-local-name>:<ref-remote-name>... On <dst> repository machine, with GIT_DIR being the <dst> repository: $ git pull <src> <ref-remote-name>:<ref-local-name>... Johannes posted a script on the list a couple of days ago, which should work well, except that it was written before the git-fetch-pack command was updated to natively download from multiple refs, so it does not know how to fetch multiple refs at a one go. -jc - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html