X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=shallow.c;h=dbd9f5ad0ac21e70fc3a095d8e2938f245c238d3;hb=265ae188267fda441f92e513fb89641f78e982fd;hp=58a7b20d793cbc71ab924d5f5aedf28cd01ca32a;hpb=f53514bc2d82f2f5cc7b447575e74aa266ed46f0;p=git.git diff --git a/shallow.c b/shallow.c index 58a7b20d7..dbd9f5ad0 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; @@ -16,7 +17,7 @@ int register_shallow(const unsigned char *sha1) return register_commit_graft(graft, 0); } -int is_repository_shallow() +int is_repository_shallow(void) { FILE *fp; char buf[1024]; @@ -54,12 +55,14 @@ 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; } - commit->util = xcalloc(1, sizeof(int)); + if (!commit->util) + commit->util = xmalloc(sizeof(int)); + *(int *)commit->util = 0; cur_depth = 0; } else { commit = (struct commit *) @@ -98,4 +101,3 @@ struct commit_list *get_shallow_commits(struct object_array *heads, int depth, return result; } -