Re: Apply git bundle to source tree?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andreas Grünbacher <andreas.gruenbacher@xxxxxxxxx> writes:

> I'm wondering if there's a way to apply a particular head in a bundle
> to a source tree, for example:
>
>   $ git bundle create v5.9-rc1.bundle v5.8..v5.9-rc1
>   $ cd linux-5.8
>   $ git bundle APPLY ../5.9-rc1.bundle v5.9-rc1
>
> That would allow to reconstruct either the original repository or just
> the underlying source tree, so the bundle could be used as a kind of
> super diff.

There seem to be a bit of misconception.

Do not think that a bundle is like a patch.  When you created the
bundle in the above example, you did not create a "super diff"
between v5.8 and v5.9-rc1 that you can apply to a working tree files
that correspond to v5.8 release.  That is not what you did.

What you created is an equivalent of a (shallow) repository, that
contains everything needed to get v5.9-rc1 by those who have a Git
repository that has v5.8 to fetch/pull from.  It is OK to have more,
but you MUST have v5.8 for the bundle in the example to be usable.

So assuming that your 'linux-5.8' is not just a tarball extract but
a Linux repository with v5.8 tag in it (i.e. "git log v5.8" gives
you sensible output) then the command to use is not apply but fetch,
e.g.

    $ git bundle fetch ../5.9-rc1.bundle v5.9-rc1

which will give you v5.9-rc1 tag.  What you can fetch from the bundle
can be listed by using the list-heads subcommand on the bundle.

And starting from that point, you would be able to do things like

    $ git checkout -b my-fork-of-5.9-rc1 v5.9-rc1

Now, assuming that your original question indeed came from thinking
of a bundle like a patch and not like a repository, we have a
question for you.  What in

    $ git bundle --help

gave such an incorrect impression?  The documentation must be at
fault here, and we need to clarify so that future readers of it will
not be confused into the same misconception.

Thanks.




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux