aboutsummaryrefslogtreecommitdiff
path: root/shallow.c
diff options
context:
space:
mode:
authorAlexandre Julliard <julliard@winehq.org>2006-11-11 14:57:23 +0100
committerJunio C Hamano <junkio@cox.net>2006-11-24 15:42:49 -0800
commitabef3a1625b7aff168a5fa062432dc6ef2006963 (patch)
tree00ee34c508a52ef377510a9009b4be3009384204 /shallow.c
parentf53514bc2d82f2f5cc7b447575e74aa266ed46f0 (diff)
downloadgit-abef3a1625b7aff168a5fa062432dc6ef2006963.tar.gz
git-abef3a1625b7aff168a5fa062432dc6ef2006963.tar.xz
Shallow clone: do not ignore shallowness when following tags
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>
Diffstat (limited to 'shallow.c')
-rw-r--r--shallow.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/shallow.c b/shallow.c
index 58a7b20d7..2db1dc428 100644
--- 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;