Two-step tag fetching

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Two-step tag fetching

Jan Engelhardt-3
Hi,


I have a somewhat older development tree at git://dev.medozas.de/linux
(about 2.6.26-rc6), and without any tags. Now, adding in Linus's
repository makes it gather all the new stuff, and all the missing tags:

$ git remote add linus
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
$ git fetch linus
remote: Counting objects: 85029, done.
remote: Compressing objects: 100% (14727/14727), done.
remote: Total 74992 (delta 61774), reused 72751 (delta 59953)
Receiving objects: 100% (74992/74992), 23.08 MiB | 1375 KiB/s, done.
Resolving deltas: 100% (61774/61774), completed with 6853 local objects.
From git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
 * [new branch]      master     -> linus/master
 * [new tag]         v2.6.12    -> v2.6.12
 * [new tag]         v2.6.12-rc2 -> v2.6.12-rc2
 * [new tag]         v2.6.12-rc3 -> v2.6.12-rc3
 * [new tag]         v2.6.12-rc4 -> v2.6.12-rc4
[... lots of new tags ...]
 * [new tag]         v2.6.25    -> v2.6.25
 * [new tag]         v2.6.25-rc1 -> v2.6.25-rc1
 * [new tag]         v2.6.25-rc2 -> v2.6.25-rc2
 * [new tag]         v2.6.25-rc3 -> v2.6.25-rc3
 * [new tag]         v2.6.25-rc4 -> v2.6.25-rc4
 * [new tag]         v2.6.25-rc5 -> v2.6.25-rc5
 * [new tag]         v2.6.25-rc6 -> v2.6.25-rc6
 * [new tag]         v2.6.25-rc7 -> v2.6.25-rc7
 * [new tag]         v2.6.25-rc8 -> v2.6.25-rc8
 * [new tag]         v2.6.25-rc9 -> v2.6.25-rc9
 * [new tag]         v2.6.26-rc1 -> v2.6.26-rc1
 * [new tag]         v2.6.26-rc2 -> v2.6.26-rc2
 * [new tag]         v2.6.26-rc3 -> v2.6.26-rc3
 * [new tag]         v2.6.26-rc4 -> v2.6.26-rc4
 * [new tag]         v2.6.26-rc5 -> v2.6.26-rc5
 * [new tag]         v2.6.26-rc6 -> v2.6.26-rc6
 * [new tag]         v2.6.26-rc7 -> v2.6.26-rc7
 * [new tag]         v2.6.26-rc8 -> v2.6.26-rc8
From git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
 * [new tag]         v2.6.26    -> v2.6.26
 * [new tag]         v2.6.26-rc9 -> v2.6.26-rc9
 * [new tag]         v2.6.27-rc1 -> v2.6.27-rc1
 * [new tag]         v2.6.27-rc2 -> v2.6.27-rc2


What interests me here is why there are two "From" lines.



thanks,
Jan
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [hidden email]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Reply | Threaded
Open this post in threaded view
|

Re: Two-step tag fetching

Jan Engelhardt-3

On Sunday 2008-08-10 11:19, Jan Engelhardt wrote:
>
>
>I have a somewhat older development tree at git://dev.medozas.de/linux
>(about 2.6.26-rc6), and without any tags. Now, adding in Linus's
>repository makes it gather all the new stuff, and all the missing tags:
>[...]
>What interests me here is why there are two "From" lines.

I just noticed the same with stable-2.6.19.y.git (and all others), like

From git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.19.y
 * [new branch]      master     -> stable19/master
 * [new tag]         v2.6.19.7  -> v2.6.19.7
From git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.19.y
 * [new tag]         v2.6.19.1  -> v2.6.19.1
 * [new tag]         v2.6.19.2  -> v2.6.19.2
 * [new tag]         v2.6.19.3  -> v2.6.19.3
 * [new tag]         v2.6.19.4  -> v2.6.19.4
 * [new tag]         v2.6.19.5  -> v2.6.19.5
 * [new tag]         v2.6.19.6  -> v2.6.19.6

And my suspicion is that v2.6.19.1--v2.6.19.6 have been repacked into
packed-refs, and v2.6.19.7 has been added later and is a loose tag (as
is the master branch). So the packed-refs (with less recent history) are
fetched later, which conflicts with the output from Linus's repo where I
get the (possibly packed) tags first, in chronological order.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [hidden email]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Reply | Threaded
Open this post in threaded view
|

Re: Two-step tag fetching

Shawn Pearce
Jan Engelhardt <[hidden email]> wrote:
> On Sunday 2008-08-10 11:19, Jan Engelhardt wrote:
> >
> >I have a somewhat older development tree at git://dev.medozas.de/linux
> >(about 2.6.26-rc6), and without any tags. Now, adding in Linus's
> >repository makes it gather all the new stuff, and all the missing tags:
> >[...]
> >What interests me here is why there are two "From" lines.
...
> And my suspicion is that v2.6.19.1--v2.6.19.6 have been repacked into
> packed-refs, and v2.6.19.7 has been added later and is a loose tag (as
> is the master branch). So the packed-refs (with less recent history) are
> fetched later, which conflicts with the output from Linus's repo where I
> get the (possibly packed) tags first, in chronological order.

Sort of, but not really.

The remote server running git:// must not be new enough to support
the include-tag extension.  So fetching tags which the client
does not have the objects for, and which the client isn't 100%
sure it will need to fetch have to be done during the second pass,
which is when the second From line is displayed.

These tags caught during the second pass are tags pointing at much
older commits; commits which no active branch is currently pointing
at directly, but which are reachable indirectly.  That is why you
are seeing this second pass pick up the "older" tags.

--
Shawn.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [hidden email]
More majordomo info at  http://vger.kernel.org/majordomo-info.html