While 'git commit-graph write --stdin-commits' expects commit object ids as input, it accepts and silently skips over any invalid commit object ids, and still exits with success: $ echo not-a-commit-oid | git commit-graph write --stdin-commits $ echo $? $ ls -l .git/objects/info/commit-graph ls: cannot access '.git/objects/info/commit-graph': No such file or directory The last patch in this series fixes this issue, with a bit of preparatory refactoring in the second and a while-at-it cleanup in the first patches. SZEDER Gábor (3): t5318-commit-graph: use 'test_expect_code' commit-graph: turn a group of write-related macro flags into an enum commit-graph: error out on invalid commit oids in 'write --stdin-commits' builtin/commit-graph.c | 10 ++++++---- builtin/gc.c | 2 +- commit-graph.c | 40 +++++++++++++++++++++++----------------- commit-graph.h | 15 ++++++++++----- t/t5318-commit-graph.sh | 14 +++++++++++--- 5 files changed, 51 insertions(+), 30 deletions(-) -- 2.23.0.rc1.309.g896d8c5f5f