summaryrefslogtreecommitdiff
path: root/fsck.c
diff options
context:
space:
mode:
Diffstat (limited to 'fsck.c')
-rw-r--r--fsck.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/fsck.c b/fsck.c
index 4b7f0b73d7..e3030f3b35 100644
--- a/fsck.c
+++ b/fsck.c
@@ -463,6 +463,11 @@ static int fsck_walk_commit(struct commit *commit, void *data, struct fsck_optio
generation += power * (name[--len] - '0');
if (power > 1 && len && name[len - 1] == '~')
name_prefix_len = len - 1;
+ else {
+ /* Maybe a non-first parent, e.g. HEAD^2 */
+ generation = 0;
+ name_prefix_len = len;
+ }
}
}
@@ -1271,6 +1276,11 @@ int fsck_error_function(struct fsck_options *o,
return 1;
}
+void register_found_gitmodules(const struct object_id *oid)
+{
+ oidset_insert(&gitmodules_found, oid);
+}
+
int fsck_finish(struct fsck_options *options)
{
int ret = 0;