# One more shallow tree weirdness - tag not pulled?

3 messages from 2007-04-12 to 2007-04-12. Participants: Robin H. Johnson, Junio C Hamano.
Thread: https://gitlist.dev/t/7620

## Robin H. Johnson, 2007-04-12 01:16

Subject: One more shallow tree weirdness - tag not pulled?
Message-ID: <20070412011616.GB18378@curie-int.orbis-terrarum.net>
URL: https://gitlist.dev/e/20070412011616.GB18378%40curie-int.orbis-terrarum.net

```
One other bit of weirdness I ran into.  On a shallow clone that is extended to
full depth, there is a tag missing (that was in the non-shallow clone).

Testcase
> git clone git://git.kernel.org/pub/scm/git/git.git git-0
> git clone --depth 1 git://git.kernel.org/pub/scm/git/git.git git-1
> cd git-1 && git pull --depth 10000000

Now the content of git-0 and git-1 should be functionally identical, but
it's not.

I created 'git-$N.list' with:
find git-$N ! -type d  | sort |egrep -v '\.git/(objects/pack/|index$|logs/)' \
 | tr '\n' '\0' | xargs -0 md5sum | sed 's,git-$N/,,g' >git-$N.list

--- git-0.list	2007-04-11 18:12:25.000000000 -0700
+++ git-1.list	2007-04-11 18:12:32.000000000 -0700
@@ -28,7 +28,6 @@
 bc94cbd02df32d07b7fd230d7aba42e8  .git/refs/tags/gitgui-0.6.3
 91521cca8d3f177e2f0cb4a586dac6be  .git/refs/tags/gitgui-0.6.4
 c56d1ac72d959f87ba0dd92721de36de  .git/refs/tags/gitgui-0.6.5
-b9c7a4533d41dfedd0a0d23bbfb3fed8  .git/refs/tags/junio-gpg-pub
 43ceb81bf4c131a8a882025a676aa22e  .git/refs/tags/v0.99
 072e3055bf33ff1ba5aa4697f2b539fb  .git/refs/tags/v0.99.1
 85916310d7d0a86818033ac95f32b234  .git/refs/tags/v0.99.2

-- 
Robin Hugh Johnson
Gentoo Linux Developer & Council Member
E-Mail     : robbat2@gentoo.org
GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85

```

## Junio C Hamano, 2007-04-12 01:32

Subject: Re: One more shallow tree weirdness - tag not pulled?
Message-ID: <7vbqhuml6z.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vbqhuml6z.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <20070412011616.GB18378@curie-int.orbis-terrarum.net>

```
"Robin H. Johnson" <robbat2@gentoo.org> writes:

> One other bit of weirdness I ran into.  On a shallow clone that is extended to
> full depth, there is a tag missing (that was in the non-shallow clone).
>
> Testcase
>> git clone git://git.kernel.org/pub/scm/git/git.git git-0
>> git clone --depth 1 git://git.kernel.org/pub/scm/git/git.git git-1
>> cd git-1 && git pull --depth 10000000

This is easily explained, and I do not think it has anything to
do with shallow clones.

The initial clone gets all tags, regardless of reachability.
Subsequent fetches however only _follows_ tags that point at
something you have in the repository.  The blob that holds my
GPG public key is not part of any commit, so you would not have
that object in your repository, and subsequent "tag following"
will not see it.

	$ git fetch --tags

is always your friend.

> I created 'git-$N.list' with:
> find git-$N ! -type d  | sort |egrep -v '\.git/(objects/pack/|index$|logs/)' \
>  | tr '\n' '\0' | xargs -0 md5sum | sed 's,git-$N/,,g' >git-$N.list

I do not know what you wanted to do, but I suspect you
reinvented a rather expensive

	git ls-remote git-$N

perhaps?

>
> --- git-0.list	2007-04-11 18:12:25.000000000 -0700
> +++ git-1.list	2007-04-11 18:12:32.000000000 -0700
> @@ -28,7 +28,6 @@
>  bc94cbd02df32d07b7fd230d7aba42e8  .git/refs/tags/gitgui-0.6.3
>  91521cca8d3f177e2f0cb4a586dac6be  .git/refs/tags/gitgui-0.6.4
>  c56d1ac72d959f87ba0dd92721de36de  .git/refs/tags/gitgui-0.6.5
> -b9c7a4533d41dfedd0a0d23bbfb3fed8  .git/refs/tags/junio-gpg-pub
>  43ceb81bf4c131a8a882025a676aa22e  .git/refs/tags/v0.99
>  072e3055bf33ff1ba5aa4697f2b539fb  .git/refs/tags/v0.99.1
>  85916310d7d0a86818033ac95f32b234  .git/refs/tags/v0.99.2
>
> -- 
> Robin Hugh Johnson
> Gentoo Linux Developer & Council Member
> E-Mail     : robbat2@gentoo.org
> GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85

```

## Robin H. Johnson, 2007-04-12 03:37

Subject: Re: One more shallow tree weirdness - tag not pulled?
Message-ID: <20070412033759.GD18378@curie-int.orbis-terrarum.net>
URL: https://gitlist.dev/e/20070412033759.GD18378%40curie-int.orbis-terrarum.net
In-Reply-To: <7vbqhuml6z.fsf@assigned-by-dhcp.cox.net>

```
On Wed, Apr 11, 2007 at 06:32:36PM -0700, Junio C Hamano wrote:
> The initial clone gets all tags, regardless of reachability.
> Subsequent fetches however only _follows_ tags that point at
> something you have in the repository.  The blob that holds my
> GPG public key is not part of any commit, so you would not have
> that object in your repository, and subsequent "tag following"
> will not see it.
Ah, that explains it. I didn't dig into what the blob contain, just
noticed that it wasn't on the side that I was checking for extending.

> > I created 'git-$N.list' with:
> > find git-$N ! -type d  | sort |egrep -v '\.git/(objects/pack/|index$|logs/)' \
> >  | tr '\n' '\0' | xargs -0 md5sum | sed 's,git-$N/,,g' >git-$N.list
> 
> I do not know what you wanted to do, but I suspect you
> reinvented a rather expensive
> 	git ls-remote git-$N
No, the purpose of this command was to check that the checkouts were
functionally equivalent.

-- 
Robin Hugh Johnson
Gentoo Linux Developer & Council Member
E-Mail     : robbat2@gentoo.org
GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85

```
