OSDN Git Service

Teach git-describe to display distances from tags.
authorShawn O. Pearce <spearce@spearce.org>
Thu, 25 Jan 2007 17:39:54 +0000 (12:39 -0500)
committerJunio C Hamano <junkio@cox.net>
Sun, 28 Jan 2007 10:08:51 +0000 (02:08 -0800)
If you get two different describes at different
times from a non-rewinding branch and they both come up with the same
tag name, you can tell which is the 'newer' one by distance.  This is
rather common in practice, so its incredibly useful.

[jc: still needs documentation and fixups when traversal gives up
 early.]

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
builtin-describe.c

index f3ac2d5..aedbc78 100644 (file)
@@ -191,8 +191,9 @@ static void describe(const char *arg, int last_one)
        if (abbrev == 0)
                printf("%s\n", all_matches[0].name->path );
        else
-               printf("%s-g%s\n", all_matches[0].name->path,
-                          find_unique_abbrev(cmit->object.sha1, abbrev));
+               printf("%s-%d-g%s\n", all_matches[0].name->path,
+                      all_matches[0].depth,
+                      find_unique_abbrev(cmit->object.sha1, abbrev));
 
        if (!last_one)
                clear_commit_marks(cmit, -1);