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

Re: git-bundle question.

From
GSGovind Salinas <govind@sophiasuchtig.com>
Date
May 12, 2008, 01:19 UTC
Message-ID
<5d46db230805111819o7d01523au30fb1abcff8be754@mail.gmail.com>
In-Reply-To
<5d46db230805111817i786f3402qbfd5ec70d020ab1f@mail.gmail.com>
forgot to reply to list

On Sun, May 11, 2008 at 8:17 PM, Govind Salinas <govind@sophiasuchtig.com> wrote:

Show 50 quoted lines
> On Sun, May 11, 2008 at 7:28 PM, Junio C Hamano <gitster@pobox.com> wrote:
>> "Govind Salinas" <govind@sophiasuchtig.com> 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.
>>
>>
>
> 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.
>
Previous: Junio C Hamano
Message 3 of 3 in “git-bundle question.”
  1. Govind SalinasMay 11, 2008
  2. Junio C HamanoMay 12, 2008
  3. Govind SalinasMay 12, 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.