All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael J Gruber <git@drmicha.warpmail.net>
To: Johannes Sixt <j.sixt@viscovery.net>
Cc: Joshua Shrader <jshrader83@gmail.com>,
	Git Mailing List <git@vger.kernel.org>
Subject: Re: can git-describe learn first-parent behavior?
Date: Tue, 21 Sep 2010 14:10:31 +0200	[thread overview]
Message-ID: <4C98A0B7.9050501@drmicha.warpmail.net> (raw)
In-Reply-To: <4C989E6B.1070703@viscovery.net>

Johannes Sixt venit, vidit, dixit 21.09.2010 14:00:
> Am 9/21/2010 13:49, schrieb Michael J Gruber:
>> Johannes Sixt venit, vidit, dixit 21.09.2010 12:03:
>>> git describe e5498e8a^2 e5498e8a^1~24 e5498e8a
>>> v1.7.0.7
>>> v1.7.1.1
>>> v1.7.1.1-38-ge5498e8
>>>
>>> v1.7.1.1 is 25 commits away, while v1.7.0.7 is a parent (the second).
>>>
>>> AFAICS, git-describe does The Right Thing (--first-parent).
>>
>> I'm not saying it does the wrong thing. I'm saying it does not do
>> --first-parent but depth priority (where depth is a bit complicated),
>> which may or may not be the same as first-parent transversal/priority.
>> You picked one case where they coincide:
>>
>> git describe --debug e5498e8a^2 e5498e8a^2~24 e5498e8a
>> v1.7.0.7
>> v1.7.0.5
> 
> This should be "v1.7.1.1", no?

Well, e5498e8a^2~24 == v1.7.0.5 and e5498e8a^1~24 == v1.7.1.1.
The copy&paste from your e-mail was not exactly helped by Thunderbirds
conversion of ^2, ^1 into exponents... In any case, the numbers below
are what matters:

> 
>> searching to describe e5498e8a
>>  annotated         38 v1.7.1.1
>>  annotated        252 v1.7.1
>>  annotated        268 v1.7.1-rc2
>>  annotated        318 v1.7.1-rc1
>>  annotated        355 v1.7.1-rc0
>>  annotated        478 v1.7.0.7
>>  annotated        492 v1.7.0.6
>>  annotated        512 v1.7.0.5
>>  annotated        539 v1.7.0.4
>>  annotated        564 v1.7.0.3
>> traversed 1267 commits
>> more than 10 tags found; listed 10 most recent
>> gave up search at 97222d9634b5518cd3d328aa86b52746a16334a7
>> v1.7.1.1-38-ge5498e8
>>
>> v1.7.1.1 clearly wins by depth priority.
> 
> If "depth priority" is not the shortest ancestry path (and it obviously is
> not given the numbers above), what is it then, and why does it not work
> with Joshua's example? Wouldn't it be better to make it Just Work instead
> of adding a workaround that has to be enabled manually?

I don't consider the existing behaviour wrong, though it may be a bit
tough to figure out. It may even be that the depth calculation has an
off-by-1 error which leads to this behaviour.

Consequently, I don't consider --first-parent a workaround. Note that
with --first-parent, tags on other branches are not even considered so
that you can be sure to get a first parent tag or none.

Do you really think that changing the algorithm would be accepted? In
any case, at most that would lead to prioritizing first parent tags
unconditionally but still resorting to other tags when there are no
first-parent tags.

Michael

  reply	other threads:[~2010-09-21 12:10 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-21  5:58 can git-describe learn first-parent behavior? Joshua Shrader
2010-09-21  9:34 ` Michael J Gruber
2010-09-21  9:35   ` [RFC PATCH] git-describe: introduce --first-parent Michael J Gruber
2010-09-21 10:03   ` can git-describe learn first-parent behavior? Johannes Sixt
2010-09-21 11:49     ` Michael J Gruber
2010-09-21 12:00       ` Johannes Sixt
2010-09-21 12:10         ` Michael J Gruber [this message]
2010-09-21 12:34           ` Johannes Sixt
2010-09-21 15:26             ` Michael J Gruber
2010-09-21 19:57               ` Joshua Shrader
2010-09-22  6:52                 ` Michael J Gruber
2010-09-22 17:45                   ` Joshua Shrader

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C98A0B7.9050501@drmicha.warpmail.net \
    --to=git@drmicha.warpmail.net \
    --cc=git@vger.kernel.org \
    --cc=j.sixt@viscovery.net \
    --cc=jshrader83@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.