git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Wishlist for a bundle-only transport mode

From
SBSanti Béjar <sbejar@gmail.com>
Date
Nov 23, 2007, 10:13 UTC
Message-ID
<8aa486160711230213q6038037epe2cbd0240db8b612@mail.gmail.com>
In-Reply-To
<7vejehux3y.fsf@gitster.siamese.dyndns.org>
On Nov 23, 2007 10:31 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 12 quoted lines
>
> 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
Previous: Jakub NarebskiNext: Johannes Schindelin
Message 15 of 33 in “Wishlist for a bundle-only transport mode”
  1. Santi BéjarNov 21, 2007
  2. Jakub NarebskiNov 21, 2007
  3. Santi BéjarNov 21, 2007
  4. Johannes SchindelinNov 21, 2007
  5. Jakub NarebskiNov 21, 2007
  6. Johannes SchindelinNov 21, 2007
  7. Jakub NarebskiNov 21, 2007
  8. Johannes SchindelinNov 21, 2007
  9. Jakub NarebskiNov 21, 2007
  10. Santi BéjarNov 22, 2007
  11. Junio C HamanoNov 22, 2007
  12. Jakub NarebskiNov 23, 2007
  13. Junio C HamanoNov 23, 2007
  14. Jakub NarebskiNov 23, 2007
  15. Santi BéjarNov 23, 2007
  16. Johannes SchindelinNov 23, 2007
  17. Junio C HamanoNov 23, 2007
  18. Santi BéjarNov 23, 2007
  19. Junio C HamanoNov 23, 2007
  20. Santi BéjarNov 23, 2007
  21. Junio C HamanoNov 24, 2007
  22. Jakub NarebskiNov 23, 2007
  23. Johannes SchindelinNov 21, 2007
  24. Santi BéjarNov 21, 2007
  25. Johannes SchindelinNov 21, 2007
  26. Santi BéjarNov 21, 2007
  27. bundle create: keep symbolic refs' names instead of resolving themJohannes Schindelin, Nov 21, 2007
  28. Johannes SchindelinNov 22, 2007
  29. bundle create: keep symbolic refs' names instead of resolving themJohannes Schindelin, Nov 22, 2007
  30. Kristian HøgsbergNov 21, 2007
  31. Johannes SchindelinNov 21, 2007
  32. Jakub NarebskiNov 21, 2007
  33. Johannes SchindelinNov 21, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.