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

git bundle unbundle and "check-outable" refs

From
TJTodd A. Jacobs <nospam+listmail@codegnome.org>
Date
Sep 29, 2011, 15:51 UTC
Message-ID
<dec8c877-bd6e-4120-b045-87179d54abe2@i30g2000yqd.googlegroups.com>

Never having needed git bundle before, I've recently been using it as a sneakernet. In particular, I'm using bundles to work around limitations of filesystem semantics on vfat and hpfs+ drives when shared between Linux and OS X systems. The systems are air-gapped, so sneakernet is essential.

At any rate, the issue I'm dealing with is that "git bundle unbundle" is sort of non-intuitive to deal with. It seems to add the commits directly to the local repository, but doesn't give me any of the branch refs that I'm expecting from such an operation. In other words, if I bundle branch foo on machine A, then unbundle on machine B, I expect to be able to "git checkout foo" and get on with life.

Instead, it seems that I have to figure out what commits were unbundled, and create a new branch ref pointing to the head that I want. I assume this is to prevent namespace collisions, but it seems really, really cumbersome. Wouldn't it make more sense to include branch names in the bundle, and simply prompt the user to rename refs that conflict?

I'm certainly open to other ideas of how to accomplish this workflow, and if there's an invocation to simplify this that I'm unaware of, please advise. Otherwise, I really think the default behavior of the unbundle sub-command ought to be more intuitive.

Next: Junio C Hamano
Message 1 of 3 in “git bundle unbundle and "check-outable" refs”
  1. Todd A. JacobsSep 29, 2011
  2. Junio C HamanoSep 29, 2011
  3. Jakub NarebskiSep 29, 2011

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.