]> Kevux Git Server - rit/commitdiff
Shallow clone: do not ignore shallowness when following tags
authorAlexandre Julliard <julliard@winehq.org>
Sat, 11 Nov 2006 13:57:23 +0000 (14:57 +0100)
committerJunio C Hamano <junkio@cox.net>
Fri, 24 Nov 2006 23:42:49 +0000 (15:42 -0800)
Tags should be considered when truncating the
commit list. The patch below fixes it, and fetches the right number of
commits for each tag. However the correct fix is probably to not fetch
historical tags at all.

Signed-off-by: Junio C Hamano <junkio@cox.net>
shallow.c

index 58a7b20..2db1dc4 100644 (file)
--- a/shallow.c
+++ b/shallow.c
@@ -1,5 +1,6 @@
 #include "cache.h"
 #include "commit.h"
+#include "tag.h"
 
 static int is_shallow = -1;
 
@@ -54,7 +55,7 @@ struct commit_list *get_shallow_commits(struct object_array *heads, int depth,
                if (!commit) {
                        if (i < heads->nr) {
                                commit = (struct commit *)
-                                       heads->objects[i++].item;
+                                       deref_tag(heads->objects[i++].item, NULL, 0);
                                if (commit->object.type != OBJ_COMMIT) {
                                        commit = NULL;
                                        continue;