Re: git-bundle question.
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:36
"Govind Salinas" [off-list ref] writes:
I am writing my wrapper over git bundle and I noticed that the "SPECIFYING REFERENCES" section says that the it will only bundle things that end in something git-show-ref can find. I can probably work around this by silently creating a tag doing the bundle and deleting the tag, but I want to know why this restriction is in there in the first place? If there is a good reason for it then I will probably just add this info to the documentation.
Because bundle is not just a random collection of objects, a tarball of your .git/objects/. Instead, it is a (partial) history that leads to a particular (set of) versions. Think of it as what "git fetch $somewhere $that_branch" could give you. It is not giving you just a collection of random objects, but you are choosing from the endpoint the particular repository ($somewhere) is offering you. When you publish your history to be fetched over the network (or locally for that matter), you do not just put bunch of objects there. You give branches to mark where the histories end. It's the same deal with bundles, and the only difference is the transfer may go over sneakernet.