As described in https://github.com/gitgitgadget/git/pull/873, I managed to corrupt my Git checkout in a rather thorough manner yesterday, and it took me a long time to undo the damage. One of my tools for that should have been git fsck --name-objects, but that command produced bogus output: It said that a commit with the name ~2 had a missing tree, but ~2 is not even a legal rev name. Turns out that this is an ancient bug, and the fact that nobody complained about it suggests to me that the --name-objects probably has exactly one user, and he uses it only every four years, when he manages to hose his Git checkout. Johannes Schindelin (2): t1450: robustify `remove_object()` fsck --name-objects: be more careful parsing generation numbers fsck.c | 5 +++++ t/t1450-fsck.sh | 26 ++++++++++++-------------- 2 files changed, 17 insertions(+), 14 deletions(-) base-commit: 7397ca33730626f682845f8691b39c305535611e Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-874%2Fdscho%2Ffix-fsck-name-objects-generation-parsing-bug-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-874/dscho/fix-fsck-name-objects-generation-parsing-bug-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/874 -- gitgitgadget