Subject: Re: git bundle bug?

From: SungHyun Nam <[email-masked]>
Date: Mon, 26 Jul 2010 16:25:48 +0900

Avery Pennarun wrote:
> On Mon, Jul 26, 2010 at 2:45 AM, SungHyun Nam<[email-masked]>  wrote:
>> In a current 'git' source tree, next command does not includes
>> refs/tags/v1.7.2.
>>     $ git bundle create ~/git.bundle v1.7.1..master
>>
>> After applying the git.bundle, now 'git version' does not
>> show 1.7.2, but...
>>     $ git version
>>     git version 1.7.1.772.g64fdc
>
> 'git bundle' only includes the tags that you specifically tell it to.
> It's kind of like 'git push' that way.  If you do:
>
>     git tag -s mytag
>     git push origin master
>
> You don't expect origin to contain 'mytag' just because you pushed 'master'.
>
>> I hope the 'git bundle' includes all the tags when I use 'master'
>> or 'HEAD'.
>>
>> Well, I could use v1.7.1..v1.7.2.  But want to use simple script like:
>>     $ git bundle create ~/git.bundle lastbundle..master
>>     $ git tag -f lastbundle master
>
> That kind of magic would require 'git bundle' to look at all your tags
> and see which ones lie in the range lastbundle..master.  And even that
> isn't perfect, since you might have added a new tag that points before
> lastbundle but was added *after* lastbundle.  So every bundle you
> created would need to include *all* your previous tags.
>
> Nevertheless, if you wanted to create a bundle that includes *all*
> your tags, but not any of the objects leading up to lastbundle, this
> works:
>
>     git bundle create ~/git.bundle --tags lastbundle..master

It worked fine with:
     git pull ~/git.bundle --tags master:master

> Note however that it will include tags even if they *aren't* part of
> master.  That is, if you have tags pointing at branch 'next', all the
> objects for those tags will *also* be included.
>
> Have fun,
>
> Avery

Thanks,
namsh