shallow: add repository argument to is_repository_shallow

Add a repository argument to allow callers of is_repository_shallow to be more specific about which repository to handle. This is a small mechanical change; it doesn't change the implementation to handle repositories other than the_repository yet. As with the previous commits, use a macro to catch callers passing a repository other than the_repository at compile time. Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Stefan Beller committed May 17, 2018 at 15:51 UTC c88134870e8b2da084e37fb86ff88fb7d7617d61
10 files changed +19 -17
builtin/fetch.c
+1 -1
@@ -1445,7 +1445,7 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
1445 if (unshallow) {
1446 if (depth)
1447 die(_("--depth and --unshallow cannot be used together"));
1448 - else if (!is_repository_shallow())
1448 + else if (!is_repository_shallow(the_repository))
1449 die(_("--unshallow on a complete repository does not make sense"));
1450 else
1451 depth = xstrfmt("%d", INFINITE_DEPTH);
builtin/pack-objects.c
+2 -2
@@ -2857,7 +2857,7 @@ static void get_object_list(int ac, const char **av)
2857 setup_revisions(ac, av, &revs, NULL);
2858
2859 /* make sure shallows are read */
2860 - is_repository_shallow();
2860 + is_repository_shallow(the_repository);
2861
2862 while (fgets(line, sizeof(line), stdin) != NULL) {
2863 int len = strlen(line);
@@ -3142,7 +3142,7 @@ int cmd_pack_objects(int argc, const char **argv, const char *prefix)
3142 use_bitmap_index = use_bitmap_index_default;
3143
3144 /* "hard" reasons not to use bitmaps; these just won't work at all */
3145 - if (!use_internal_rev_list || (!pack_to_stdout && write_bitmap_index) || is_repository_shallow())
3145 + if (!use_internal_rev_list || (!pack_to_stdout && write_bitmap_index) || is_repository_shallow(the_repository))
3146 use_bitmap_index = 0;
3147
3148 if (pack_to_stdout || !rev_list_all)
builtin/prune.c
+1 -1
@@ -160,7 +160,7 @@ int cmd_prune(int argc, const char **argv, const char *prefix)
160 remove_temporary_files(s);
161 free(s);
162
163 - if (is_repository_shallow())
163 + if (is_repository_shallow(the_repository))
164 prune_shallow(show_only);
165
166 return 0;
builtin/rev-parse.c
+2 -1
@@ -879,7 +879,8 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix)
879 continue;
880 }
881 if (!strcmp(arg, "--is-shallow-repository")) {
882 - printf("%s\n", is_repository_shallow() ? "true"
882 + printf("%s\n",
883 + is_repository_shallow(the_repository) ? "true"
884 : "false");
885 continue;
886 }
commit.c
+1 -1
@@ -208,7 +208,7 @@ static void prepare_commit_graft_the_repository(void)
208 graft_file = get_graft_file();
209 read_graft_file(the_repository, graft_file);
210 /* make sure shallows are read */
211 - is_repository_shallow();
211 + is_repository_shallow(the_repository);
212 commit_graft_prepared = 1;
213 }
214
commit.h
+2 -1
@@ -195,7 +195,8 @@ struct ref;
195 extern int register_shallow_the_repository(const struct object_id *oid);
196 extern int unregister_shallow(const struct object_id *oid);
197 extern int for_each_commit_graft(each_commit_graft_fn, void *);
198 -extern int is_repository_shallow(void);
198 +#define is_repository_shallow(r) is_repository_shallow_##r()
199 +extern int is_repository_shallow_the_repository(void);
200 extern struct commit_list *get_shallow_commits(struct object_array *heads,
201 int depth, int shallow_flag, int not_shallow_flag);
202 extern struct commit_list *get_shallow_commits_by_rev_list(
fetch-pack.c
+2 -2
@@ -397,7 +397,7 @@ static int find_common(struct fetch_pack_args *args,
397 return 1;
398 }
399
400 - if (is_repository_shallow())
400 + if (is_repository_shallow(the_repository))
401 write_shallow_commits(&req_buf, 1, NULL);
402 if (args->depth > 0)
403 packet_buf_write(&req_buf, "deepen %d", args->depth);
@@ -986,7 +986,7 @@ static struct ref *do_fetch_pack(struct fetch_pack_args *args,
986 sort_ref_list(&ref, ref_compare_name);
987 QSORT(sought, nr_sought, cmp_ref_by_name);
988
989 - if ((args->depth > 0 || is_repository_shallow()) && !server_supports("shallow"))
989 + if ((args->depth > 0 || is_repository_shallow(the_repository)) && !server_supports("shallow"))
990 die(_("Server does not support shallow clients"));
991 if (args->depth > 0 || args->deepen_since || args->deepen_not)
992 args->deepen = 1;
send-pack.c
+3 -3
@@ -76,7 +76,7 @@ static int pack_objects(int fd, struct ref *refs, struct oid_array *extra, struc
76 argv_array_push(&po.args, "-q");
77 if (args->progress)
78 argv_array_push(&po.args, "--progress");
79 - if (is_repository_shallow())
79 + if (is_repository_shallow(the_repository))
80 argv_array_push(&po.args, "--shallow");
81 po.in = -1;
82 po.out = args->stateless_rpc ? -1 : fd;
@@ -221,7 +221,7 @@ static int advertise_shallow_grafts_cb(const struct commit_graft *graft, void *c
221
222 static void advertise_shallow_grafts_buf(struct strbuf *sb)
223 {
224 - if (!is_repository_shallow())
224 + if (!is_repository_shallow(the_repository))
225 return;
226 for_each_commit_graft(advertise_shallow_grafts_cb, sb);
227 }
@@ -538,7 +538,7 @@ int send_pack(struct send_pack_args *args,
538 }
539
540 if (args->stateless_rpc) {
541 - if (!args->dry_run && (cmds_sent || is_repository_shallow())) {
541 + if (!args->dry_run && (cmds_sent || is_repository_shallow(the_repository))) {
542 packet_buf_flush(&req_buf);
543 send_sideband(out, -1, req_buf.buf, req_buf.len, LARGE_PACKET_MAX);
544 }
shallow.c
+4 -4
@@ -42,7 +42,7 @@ int register_shallow_the_repository(const struct object_id *oid)
42 return register_commit_graft(the_repository, graft, 0);
43 }
44
45 -int is_repository_shallow(void)
45 +int is_repository_shallow_the_repository(void)
46 {
47 FILE *fp;
48 char buf[1024];
@@ -108,7 +108,7 @@ struct commit_list *get_shallow_commits(struct object_array *heads, int depth,
108 parse_commit_or_die(commit);
109 cur_depth++;
110 if ((depth != INFINITE_DEPTH && cur_depth >= depth) ||
111 - (is_repository_shallow() && !commit->parents &&
111 + (is_repository_shallow(the_repository) && !commit->parents &&
112 (graft = lookup_commit_graft(the_repository, &commit->object.oid)) != NULL &&
113 graft->nr_parent < 0)) {
114 commit_list_insert(commit, &result);
@@ -167,7 +167,7 @@ struct commit_list *get_shallow_commits_by_rev_list(int ac, const char **av,
167 */
168 clear_object_flags(both_flags);
169
170 - is_repository_shallow(); /* make sure shallows are read */
170 + is_repository_shallow(the_repository); /* make sure shallows are read */
171
172 init_revisions(&revs, NULL);
173 save_commit_buffer = 0;
@@ -345,7 +345,7 @@ static int advertise_shallow_grafts_cb(const struct commit_graft *graft, void *c
345
346 void advertise_shallow_grafts(int fd)
347 {
348 - if (!is_repository_shallow())
348 + if (!is_repository_shallow(the_repository))
349 return;
350 for_each_commit_graft(advertise_shallow_grafts_cb, &fd);
351 }
upload-pack.c
+1 -1
@@ -707,7 +707,7 @@ static void send_unshallow(const struct object_array *shallows)
707 static void deepen(int depth, int deepen_relative,
708 struct object_array *shallows)
709 {
710 - if (depth == INFINITE_DEPTH && !is_repository_shallow()) {
710 + if (depth == INFINITE_DEPTH && !is_repository_shallow(the_repository)) {
711 int i;
712
713 for (i = 0; i < shallows->nr; i++) {