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

Git bundles for backup and cloning: the Zaphod Beeblebrox thread

From
AKAlain Kalker <a.c.kalker@gmail.com>
Date
Feb 17, 2013, 19:28 UTC
Message-ID
<kfrb11$ugv$2@ger.gmane.org>
>From the current documentation for git-bundle(1), it may not be clear for 

users unfamilliar with Git, how to create a bundle which can be used for backup purposes, or, more generally, to clone to a completely new repository.

Philip Oakley has posted a documentation patch some time ago, but Junio 
has pointed out several concerns.
Ref: http://thread.gmane.org/gmane.comp.version-control.git/205887/
focus=205897

Here's my attempt to summarize the concerns, adding some of my own, and a possible solution.

1. "Missing HEAD syndrome"
$ git bundle create <bundle> master
-or-
$ git bundle create <bundle> <branchname...>
-or-
$ git bundle create <bundle> --branches
-then-
$ git clone <bundle> <dir>

will be unable to checkout any files due to a missing ref for HEAD. Though this can be fixed by going into <dir> and doing `git checkout <ref>`, this is not very user-friendly.

2. "Detached HEAD syndrome"
$ git bundle create <bundle> HEAD
$ git clone <bundle> <dir>
will checkout files alright, but leaves one in a "detached HEAD" state.
 
3. "Exploding HEAD syndrome"
$ git bundle create <bundle> --all
will add the HEAD, but will add refs from refs/remotes/* too, which is 
not desirable when cloning, unless one sets up all the remotes (e.g. by 
restoring .git/config) as well.

Finally, my solution for backing up only the local branches of a repository: $ git bundle create <bundle> --branches HEAD but this may not be very easy for new users to figure out on their own unless well documented (perhaps a new flag?)

Any comments or suggestions (including HHGTTG references!) are very welcome.

-Alain
Next: Alain Kalker
Message 1 of 3 in “Git bundles for backup and cloning: the Zaphod Beeblebrox thread”
  1. Alain KalkerFeb 17, 2013
  2. Alain KalkerFeb 17, 2013
  3. Philip OakleyFeb 18, 2013

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.