38
static int advertise_sid;
39
static struct shallow_lock shallow_lock;
40
static const char *alternate_shallow_file;
41
-static struct fsck_options fsck_options = FSCK_OPTIONS_STRICT;
41
+static struct fsck_options fsck_options = FSCK_OPTIONS_MISSING_GITMODULES;
42
static struct strbuf fsck_msg_types = STRBUF_INIT;
43
static struct string_list uri_protocols = STRING_LIST_INIT_DUP;
44
988
return strcmp(a->name, b->name);
989
}
990
991
-static void fsck_gitmodules_oids(struct oidset *gitmodules_oids)
992
-{
993
- struct oidset_iter iter;
994
- const struct object_id *oid;
995
-
996
- if (!oidset_size(gitmodules_oids))
997
- return;
998
-
999
- oidset_iter_init(gitmodules_oids, &iter);
1000
- while ((oid = oidset_iter_next(&iter)))
1001
- register_found_gitmodules(&fsck_options, oid);
1002
- if (fsck_finish(&fsck_options))
1003
- die("fsck failed");
1004
-}
1005
-
991
static struct ref *do_fetch_pack(struct fetch_pack_args *args,
992
int fd[2],
993
const struct ref *orig_ref,
1002
int agent_len;
1003
struct fetch_negotiator negotiator_alloc;
1004
struct fetch_negotiator *negotiator;
1020
- struct oidset gitmodules_oids = OIDSET_INIT;
1005
1006
negotiator = &negotiator_alloc;
1007
fetch_negotiator_init(r, negotiator);
1118
else
1119
alternate_shallow_file = NULL;
1120
if (get_pack(args, fd, pack_lockfiles, NULL, sought, nr_sought,
1137
- &gitmodules_oids))
1121
+ &fsck_options.gitmodules_found))
1122
die(_("git fetch-pack: fetch failed."));
1139
- fsck_gitmodules_oids(&gitmodules_oids);
1123
+ if (fsck_finish(&fsck_options))
1124
+ die("fsck failed");
1125
1126
all_done:
1127
if (negotiator)
1572
struct string_list packfile_uris = STRING_LIST_INIT_DUP;
1573
int i;
1574
struct strvec index_pack_args = STRVEC_INIT;
1590
- struct oidset gitmodules_oids = OIDSET_INIT;
1575
1576
negotiator = &negotiator_alloc;
1577
fetch_negotiator_init(r, negotiator);
1662
process_section_header(&reader, "packfile", 0);
1663
if (get_pack(args, fd, pack_lockfiles,
1664
packfile_uris.nr ? &index_pack_args : NULL,
1681
- sought, nr_sought, &gitmodules_oids))
1665
+ sought, nr_sought, &fsck_options.gitmodules_found))
1666
die(_("git fetch-pack: fetch failed."));
1667
do_check_stateless_delimiter(args, &reader);
1668
1705
1706
packname[the_hash_algo->hexsz] = '\0';
1707
1724
- parse_gitmodules_oids(cmd.out, &gitmodules_oids);
1708
+ parse_gitmodules_oids(cmd.out, &fsck_options.gitmodules_found);
1709
1710
close(cmd.out);
1711
1726
string_list_clear(&packfile_uris, 0);
1727
strvec_clear(&index_pack_args);
1728
1745
- fsck_gitmodules_oids(&gitmodules_oids);
1729
+ if (fsck_finish(&fsck_options))
1730
+ die("fsck failed");
1731
1732
if (negotiator)
1733
negotiator->release(negotiator);