fetch: avoid locking issues between fetch.jobs/fetch.writeCommitGraph

When both `fetch.jobs` and `fetch.writeCommitGraph` is set, we currently try to write the commit graph in each of the concurrent fetch jobs, which frequently leads to error messages like this one: fatal: Unable to create '.../.git/objects/info/commit-graphs/commit-graph-chain.lock': File exists. Let's avoid this by holding off from writing the commit graph until all fetch jobs are done. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Johannes Schindelin committed Nov 3, 2019 at 00:21 UTC 7d8e72b9700022b3d8c57c3e2be97e52c2828e70
1 file changed +2 -1
builtin/fetch.c
+2 -1
index 8d27f8abb7..20bcda09c4 100644 --- a/builtin/fetch.c +++ b/builtin/fetch.c @@ -1602,7 +1602,8 @@ static int fetch_multiple(struct string_list *list, int max_children) return errcode; } - argv_array_pushl(&argv, "fetch", "--append", "--no-auto-gc", NULL); + argv_array_pushl(&argv, "fetch", "--append", "--no-auto-gc", + "--no-write-commit-graph", NULL); add_options_to_argv(&argv); if (max_children != 1 && list->nr != 1) {