summaryrefslogtreecommitdiff
path: root/shallow.c
diff options
context:
space:
mode:
authorAlexandre Julliard <julliard@winehq.org>2006-11-11 13:57:23 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-11-24 23:42:49 (GMT)
commitabef3a1625b7aff168a5fa062432dc6ef2006963 (patch)
tree00ee34c508a52ef377510a9009b4be3009384204 /shallow.c
parentf53514bc2d82f2f5cc7b447575e74aa266ed46f0 (diff)
downloadgit-abef3a1625b7aff168a5fa062432dc6ef2006963.zip
git-abef3a1625b7aff168a5fa062432dc6ef2006963.tar.gz
git-abef3a1625b7aff168a5fa062432dc6ef2006963.tar.bz2
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 58a7b20..2db1dc4 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;