Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.kernel.org/pub/scm/git/git.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/fsck.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-02-18 04:21:42 +0300
committerJunio C Hamano <gitster@pobox.com>2021-02-18 04:21:42 +0300
commit9e634a91c8b6f57508aa91bd7306194d6ef6c14a (patch)
treec9e4a0ba9b454bc634d23116b7ac54ba41925b7a /fsck.c
parent9bdccbcda77df036edef5badda76418d0ae80997 (diff)
parente89f89361cd7b706858eb22a6cf3d59d31a00acf (diff)
Merge branch 'js/fsck-name-objects-fix'
Fix "git fsck --name-objects" which apparently has not been used by anybody who is motivated enough to report breakage. * js/fsck-name-objects-fix: fsck --name-objects: be more careful parsing generation numbers t1450: robustify `remove_object()`
Diffstat (limited to 'fsck.c')
-rw-r--r--fsck.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/fsck.c b/fsck.c
index 4b7f0b73d7..71134fdefa 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;
+ }
}
}