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

Re: [PATCH/v2] git-basis, a script to manage bases for git-bundle

From
Jeff King <peff@peff.net>
Date
Jul 3, 2008, 19:59 UTC
Message-ID
<20080703195915.GA18532@sigill.intra.peff.net>
In-Reply-To
<200807021144.46423.jnareb@gmail.com>
On Wed, Jul 02, 2008 at 11:44:45AM +0200, Jakub Narebski wrote:
Show 9 quoted lines
> Well, there is one situation where either separate git-bases program
> (which is a good start; it can be named git-bundle--bases; there are
> some precedents for that ;-)), or allowing to create 'bases' file
> without creating bundle would be good to have.  Namely situation
> where two computers are _sometimes off-line (disconnected)_.  If you
> want to transfer new commits from machine B to machine A, you would
> generate 'bases' file on machine A, then transfer this file using some
> off-line medium, then generate bundle on machine B using those bases,
> etc.

Yes, certainly it is more flexible to have them split. I find Adam's argument the most compelling, though. Think about moving commits as a multi-step protocol:

  1. Local -> Remote: Here are some new commits, basis..current
  2. Remote -> Local: OK, I am now at current.
  3. Local: update basis to current

git-push has the luxury of asking for "basis" each time, so we know it is correct. But with bundles, we can't do that. And failing to update "basis" means we will send some extra commits next time. But updating "basis" when we shouldn't means that the next bundle will be broken.

So I think even if people _do_ want to update "basis" when they create the bundle (because it is more convenient, and they are willing to accept the possibility of losing sync), it is trivial to create that workflow on top of the separate components. But I can see why somebody might prefer the separate components, and it is hard to create them if the feature is lumped into "git-bundle" (meaning in such a way that you cannot perform the steps separately; obviously git-bundle --basis would be equivalent).

But I am not a bundle user, so that is just my outsider perspective.
-Peff
Previous: Jakub NarebskiNext: Adam Brewster
Message 9 of 22 in “git-basis, a script to manage bases for git-bundle”
  1. git-basis, a script to manage bases for git-bundleAdam Brewster, Jun 30, 2008
  2. Jeff KingJul 1, 2008
  3. Adam BrewsterJul 2, 2008
  4. Jay SoffianJul 2, 2008
  5. Adam BrewsterJul 2, 2008
  6. Jay SoffianJul 2, 2008
  7. Jeff KingJul 2, 2008
  8. Jakub NarebskiJul 2, 2008
  9. Jeff KingJul 3, 2008
  10. Adam BrewsterJul 3, 2008
  11. Johannes SchindelinJul 4, 2008
  12. Adam BrewsterJul 4, 2008
  13. Mark LevedahlJul 4, 2008
  14. Jakub NarebskiJul 4, 2008
  15. Jeff KingJul 4, 2008
  16. Junio C HamanoJul 1, 2008
  17. Mark LevedahlJul 2, 2008
  18. Adam BrewsterJul 3, 2008
  19. Mark LevedahlJul 4, 2008
  20. Johannes SchindelinJul 4, 2008
  21. Mark LevedahlJul 4, 2008
  22. Adam BrewsterJul 2, 2008

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.