diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-02-17 17:21:42 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-02-17 17:21:42 -0800 |
commit | 9e634a91c8b6f57508aa91bd7306194d6ef6c14a (patch) | |
tree | c9e4a0ba9b454bc634d23116b7ac54ba41925b7a /fsck.c | |
parent | 9bdccbcda77df036edef5badda76418d0ae80997 (diff) | |
parent | e89f89361cd7b706858eb22a6cf3d59d31a00acf (diff) | |
download | git-9e634a91c8b6f57508aa91bd7306194d6ef6c14a.tar.gz |
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.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -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; + } } } |