From: Junio C Hamano <gitster@pobox•com>
To: Michael J Gruber <git@grubix•eu>
Cc: git@vger•kernel.org, Lars Schneider <larsxschneider@gmail•com>,
Luke Diamand <luke@diamand•org>
Subject: Re: [PATCH v3 3/4] name-rev: provide debug output
Date: Fri, 31 Mar 2017 11:33:53 -0700 [thread overview]
Message-ID: <xmqqzig1xpm6.fsf@gitster.mtv.corp.google.com> (raw)
In-Reply-To: <xmqqd1cxz5gb.fsf@gitster.mtv.corp.google.com> (Junio C. Hamano's message of "Fri, 31 Mar 2017 11:06:28 -0700")
Junio C Hamano <gitster@pobox•com> writes:
> Michael J Gruber <git@grubix•eu> writes:
>
>>>The only case that this change may make a difference I can think of
>>>is when you have a tag object pointed at from outside refs/tags
>>>(e.g. refs/heads/foo is a tag object); if you are trying to change
>>>the definition of "from_tag" from the current "Is the tip inside
>>>refs/tags/?" to "Is the tip either inside refs/tags/ or is it a tag
>>>object anywhere?", that may be a good change (I didn't think things
>>>through, though), but that shouldn't be hidden inside a commit that
>>>claims to only add support for debugging.
>>>
>>>What problem are you solving?
>>
>> Sorry, I forgot about that change and failed to mention it.
>>
>> It makes no difference in the non-debug case which cares about the
>> Boolean only. In the debug case, I want to distinguish between
>> annotated and lightweight tags, just like describe --debug does. By
>> adding 1 via deref and passing this down, I know that an annotated tag
>> gets the value 2, a lightweight tag 1 and everything else 0, just like
>> describe --tags.
>
> So it sounds like you meant to do something else, and the
> implementation is wrong for that something else (i.e. it wouldn't do
> the right thing for a tag object outside refs/tags/, with or without
> the "--debug" option passed).
The damage seems worse, but I may be misreading the code.
is_better_name() compares name->from_tag and from_tag numerically,
because it was designed to take a boolean view of that variable.
Now, an artificially bumped 2 gets compared with name->from_tag that
may be 1 and gets different priority. That artificially inflated
value may be propagated to name->from_tag when the current tip is
judged as a better basis for naming the object.
If this change is only for debugging, perhaps inside if(data->debug)
you added, instead of looking at from_tag, you can look at both
from_tag and deref to choose which prio-nmes to show, without
butchering the value in from_tag variable to affect the existing
code that is exercised with or without --debug?
next prev parent reply other threads:[~2017-03-31 18:34 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-15 13:15 [PATCH 0/3] describe --contains sanity Michael J Gruber
2017-03-15 13:15 ` [PATCH 1/3] describe: debug is incompatible with contains Michael J Gruber
2017-03-15 19:21 ` Junio C Hamano
2017-03-17 10:54 ` Michael J Gruber
2017-03-15 13:15 ` [PATCH 2/3] git-prompt: add a describe style for any tags Michael J Gruber
2017-03-15 19:25 ` Junio C Hamano
2017-03-17 10:56 ` Michael J Gruber
2017-03-15 13:15 ` [RFD PATCH 3/3] name-rev: Allow lightweight tags and branch refs Michael J Gruber
2017-03-15 16:14 ` Junio C Hamano
2017-03-15 19:50 ` Junio C Hamano
2017-03-15 20:51 ` Junio C Hamano
2017-03-15 22:50 ` [PATCH 0/2] Teach name-rev to pay more attention to lightweight tags Junio C Hamano
2017-03-15 22:50 ` [PATCH 1/2] name-rev: refactor logic to see if a new candidate is a better name Junio C Hamano
2017-03-15 22:50 ` [PATCH 2/2] name-rev: favor describing with tags and use committer date to tiebreak Junio C Hamano
2017-03-17 4:07 ` Lars Schneider
2017-03-17 5:45 ` Junio C Hamano
2017-03-17 5:56 ` Junio C Hamano
2017-03-17 17:09 ` Lars Schneider
2017-03-17 17:17 ` Junio C Hamano
2017-03-17 22:43 ` Junio C Hamano
2017-03-29 14:39 ` [PATCH v2 0/3] name-rev sanity Michael J Gruber
2017-03-29 14:39 ` [PATCH v2 1/3] name-rev: refactor logic to see if a new candidate is a better name Michael J Gruber
2017-03-29 14:39 ` [PATCH v2 2/3] name-rev: favor describing with tags and use committer date to tiebreak Michael J Gruber
2017-03-29 14:39 ` [PATCH v2 3/3] name-rev: provide debug output Michael J Gruber
2017-03-29 17:15 ` [PATCH v2 0/3] name-rev sanity Junio C Hamano
2017-03-29 17:43 ` Junio C Hamano
2017-03-30 13:48 ` Michael J Gruber
2017-03-30 17:30 ` Junio C Hamano
2017-03-31 13:51 ` [PATCH v3 0/4] " Michael J Gruber
2017-03-31 13:51 ` [PATCH v3 1/4] name-rev: refactor logic to see if a new candidate is a better name Michael J Gruber
2017-03-31 13:51 ` [PATCH v3 2/4] name-rev: favor describing with tags and use committer date to tiebreak Michael J Gruber
2017-03-31 13:51 ` [PATCH v3 3/4] name-rev: provide debug output Michael J Gruber
2017-03-31 16:52 ` Junio C Hamano
2017-03-31 16:55 ` Junio C Hamano
2017-03-31 18:02 ` Michael J Gruber
2017-03-31 18:06 ` Junio C Hamano
2017-03-31 18:33 ` Junio C Hamano [this message]
2017-04-03 14:46 ` Michael J Gruber
2017-04-03 17:07 ` Junio C Hamano
2017-05-20 5:19 ` Junio C Hamano
2017-03-31 19:10 ` Junio C Hamano
2017-03-31 13:51 ` [PATCH v3 4/4] describe: pass --debug down to name-rev Michael J Gruber
2017-03-17 11:25 ` [PATCH 2/2] name-rev: favor describing with tags and use committer date to tiebreak Michael J Gruber
2017-03-17 16:03 ` Junio C Hamano
2017-03-16 0:14 ` [PATCH 0/2] Teach name-rev to pay more attention to lightweight tags Stefan Beller
2017-03-16 10:28 ` Jacob Keller
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=xmqqzig1xpm6.fsf@gitster.mtv.corp.google.com \
--to=gitster@pobox$(echo .)com \
--cc=git@grubix$(echo .)eu \
--cc=git@vger$(echo .)kernel.org \
--cc=larsxschneider@gmail$(echo .)com \
--cc=luke@diamand$(echo .)org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox