Thread (1 message) 1 message, 1 author, 2016-06-15

Re: git-bundle question.

From: Govind Salinas <hidden>
Date: 2016-06-15 22:44:36

forgot to reply to list

On Sun, May 11, 2008 at 8:17 PM, Govind Salinas
[off-list ref] wrote:
On Sun, May 11, 2008 at 7:28 PM, Junio C Hamano [off-list ref] wrote:
quoted
"Govind Salinas" [off-list ref] writes:
quoted
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.
Sure, I understand that.  However, I can use a tag to create a bundle
that does not go to an endpoint.  I can also advance that branch to
a later commit by whatever mechanism (say committing something)
and then the bundle no longer points to the endpoint, it points to
the middle somewhere.  Git, from what I have seen, likes to treat
HEADs as just another commit and it is a bit surprising to see this
particular limitation here.  I see this as kind of like git-push where
the person who has the commits is specifying them, and there you
can specify any commit.  Although pull/fetch have similar
limitations, so perhaps it is not so surprising.

If I wanted to share a patch series via bundle and the patches I
wanted went from HEAD~10..HEAD~5 then I *could* checkout -b
HEAD~5 or tag HEAD~5, but I do not see an advantage to doing so.

I don't really use bundles, so it's not a big deal to me.  I just
thought I would ask to make sure I wasn't going to break something.

Thanks,
Govind.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help