On Nov 23, 2007 10:31 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > > I was disagreeing with Santi's "'push --bundle' and 'bundle > create' can be equivalent". They can't be, as "push" is always > "update" and never "create". So I do not quite get your "But for > that I think"; I think you are just agreeing with me. > > Even if we taught "push" to create (which I doubt would happen > due to its security and administrative implications), it would > not make the two any closer to being equivalent. For them to > become equivalent, we would need to have "push" unlearn how to > update, which would never happen ;-). > OK. So git push will never understand bundles. My motivation was to have a similar workflow with bundles as with pushes, or at least as similar as possible. So another possible workflow would be with a: git bundle push [<bundle> [<refspec>]] that creates a bundle # Have a project with different branches (master, next, pu) $ git bundle push bundle.bdl # would create a complete bundle.bdl with all the local branches (with HEAD) # You send it to the other person and he does: $ git clone bundle.bdl project $ cat .git/config ... [remote "origin"] url = /path/to/bundle.bdl fetch = +refs/heads/*:refs/remotes/origin/* # He makes changes, commits and so on and then he wants to send to back a bundle $ git bundle push [<remote>] # This creates an incremental bundle with the local branches (with HEAD) as specified # by remote.<remote>.* (possibly with an implicit "push" line "refs/heads/*:refs/heads/*" # And considering the remotes/origin/* as the bases for the bundle # Then I got it and do a: $ git remote add bundle /path/to/bundle $ git fetch # Now maybe I just want to send him the master branch $ git bundle push origin master:master # If I want to send him a complete bundle $ git bundle push The important part, for me, is to keep remote tracking branches to know the bases for the next bundle. It does not matter if it is "git push", "git bundle push", "git push --bundle", "git bundle update", ... Santi - 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