Re: Gitk feature - show nearby tags

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

 



On 6/4/06, Junio C Hamano <junkio@xxxxxxx> wrote:
"Marco Costalba" <mcostalba@xxxxxxxxx> writes:

> As example given a selected revision with id <sha> is it possible to
> do something like this to fond the ancestor?
>
> 1) get the tag list with git-peek-remote or something similar if tags
> are not already loaded
>
> 2) given the tagList vector with n elements run
>
>    git-rev-list  --topo-order <sha> ^tagList[0]  ^tagList[1]   ....
>  ^tagList[n-1]
>
> 3) take the last sha spit out by git-rev-list, be it <lastSha>.
>
> 4) Previous nearest tag is the parent of lastSha

Sorry, I do not understand what you are doing here at all.
Suppose you have this simple history.

  (root)

         a---b---d---e---f---g
         t1   \ /        t3
            ---c
               t2

and <sha1> in (2) is "e".  When tagList = (t1, t2, t3), the
above rev-list would return empty.

This is enough!

Empty list is an useful and enough information.

It means:

1) Parent of current revision ("e" in our case) is a tag, indeed our seeked tag.
2) If previous point is not true then there are no previous tags.

In a less corner case, just to better explaing my idea, consider this:

         a---b---d---e---f---g---h
         t1   \ /              t3
            ---c
               t2

Where our sha1 is still "e", in this case

git-rev-list  --topo-order <e>  ^a  ^c   ^g

gives, as last revision in output list, "f"
Then parentOf(<f>) is <g> and our looked for tag is t3

  Marco
-
: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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]