From: "Shawn O. Pearce" <spearce@spearce•org>
To: git@vger•kernel.org
Cc: Junio C Hamano <gitster@pobox•com>,
Pierre Habouzit <madcoder@debian•org>,
Erez Zilber <erezzi.list@gmail•com>
Subject: [RFC PATCH] describe: Make --tags and --all match lightweight tags more often
Date: Fri, 10 Oct 2008 09:59:52 -0700 [thread overview]
Message-ID: <20081010165952.GI8203@spearce.org> (raw)
In-Reply-To: <20080930083940.GA11453@artemis.corp>
If the caller supplies --tags they want the lightweight, unannotated
tags to be searched for a match. If a lightweight tag is closer
in the history, it should be matched, even if an annotated tag is
reachable further back in the commit chain.
The same applies with --all when matching any other type of ref.
Signed-off-by: Shawn O. Pearce <spearce@spearce•org>
---
This come out of the discussions earlier last week, where folks
were confused about the meaning of --tags and wanted to see it
behave as they expected, which was to match the nearest tag,
no matter its "type".
The code is unchanged from what I sent out before, but now it has
updated test vectors and a commit message.
Thoughts?
builtin-describe.c | 6 ++----
t/t6120-describe.sh | 8 ++++----
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/builtin-describe.c b/builtin-describe.c
index ec404c8..fd54fec 100644
--- a/builtin-describe.c
+++ b/builtin-describe.c
@@ -15,8 +15,8 @@ static const char * const describe_usage[] = {
};
static int debug; /* Display lots of verbose info */
-static int all; /* Default to annotated tags only */
-static int tags; /* But allow any tags if --tags is specified */
+static int all; /* Any valid ref can be used */
+static int tags; /* Either lightweight or annotated tags */
static int longformat;
static int abbrev = DEFAULT_ABBREV;
static int max_candidates = 10;
@@ -112,8 +112,6 @@ static int compare_pt(const void *a_, const void *b_)
{
struct possible_tag *a = (struct possible_tag *)a_;
struct possible_tag *b = (struct possible_tag *)b_;
- if (a->name->prio != b->name->prio)
- return b->name->prio - a->name->prio;
if (a->depth != b->depth)
return a->depth - b->depth;
if (a->found_order != b->found_order)
diff --git a/t/t6120-describe.sh b/t/t6120-describe.sh
index 16cc635..e6c9e59 100755
--- a/t/t6120-describe.sh
+++ b/t/t6120-describe.sh
@@ -91,10 +91,10 @@ check_describe D-* HEAD^^
check_describe A-* HEAD^^2
check_describe B HEAD^^2^
-check_describe A-* --tags HEAD
-check_describe A-* --tags HEAD^
-check_describe D-* --tags HEAD^^
-check_describe A-* --tags HEAD^^2
+check_describe c-* --tags HEAD
+check_describe c-* --tags HEAD^
+check_describe e-* --tags HEAD^^
+check_describe c-* --tags HEAD^^2
check_describe B --tags HEAD^^2^
check_describe B-0-* --long HEAD^^2^
--
1.6.0.2.687.g8544f
--
Shawn.
next prev parent reply other threads:[~2008-10-10 17:01 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-28 13:48 git-describe doesn't show the most recent tag Erez Zilber
2008-09-28 13:55 ` Pierre Habouzit
2008-09-28 14:29 ` Erez Zilber
2008-09-28 14:39 ` Pierre Habouzit
2008-09-28 15:03 ` Pierre Habouzit
2008-09-28 15:12 ` [PATCH] doc: enhance git describe --tags help Pierre Habouzit
2008-09-29 15:01 ` Shawn O. Pearce
2008-09-30 8:39 ` Pierre Habouzit
2008-10-10 16:59 ` Shawn O. Pearce [this message]
2008-10-10 17:12 ` [RFC PATCH] describe: Make --tags and --all match lightweight tags more often Pierre Habouzit
2008-10-10 18:18 ` Junio C Hamano
2008-10-13 14:32 ` Shawn O. Pearce
2008-10-13 14:39 ` [PATCH v2] " Shawn O. Pearce
2008-10-15 12:54 ` Santi Béjar
2008-10-11 22:47 ` [RFC PATCH] " Andreas Ericsson
2008-10-12 18:00 ` Shawn O. Pearce
2008-10-12 18:13 ` Andreas Ericsson
2008-10-12 18:29 ` Uwe Kleine-König
2008-09-30 9:56 ` [PATCH] doc: enhance git describe --tags help Uwe Kleine-König
2008-09-30 10:09 ` Andreas Ericsson
2008-09-30 19:04 ` Shawn O. Pearce
2008-09-30 22:14 ` Uwe Kleine-König
2008-09-30 22:26 ` Shawn O. Pearce
2008-10-15 20:05 ` Uwe Kleine-König
2008-09-28 15:05 ` git-describe doesn't show the most recent tag Erez Zilber
2008-09-28 14:51 ` Andreas Ericsson
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=20081010165952.GI8203@spearce.org \
--to=spearce@spearce$(echo .)org \
--cc=erezzi.list@gmail$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
--cc=gitster@pobox$(echo .)com \
--cc=madcoder@debian$(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