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
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2021-02-04 23:07:51 +0300
committerJunio C Hamano <gitster@pobox.com>2021-02-05 04:16:42 +0300
commit5189bb87249434fba3a82f17b2bc6c93025ba88d (patch)
tree1e40df6d4d8d2dbcb2bd040f92f9ace511be74c2 /range-diff.c
parenta2d474adf32c4ea2585b2c6109c356523124e1f9 (diff)
range-diff: simplify code spawning `git log`
Previously, we waited for the child process to be finished in every failing code path as well as at the end of the function `show_range_diff()`. However, we do not need to wait that long. Directly after reading the output of the child process, we can wrap up the child process. This also has the advantage that we don't do a bunch of unnecessary work in case `finish_command()` returns with an error anyway. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'range-diff.c')
-rw-r--r--range-diff.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/range-diff.c b/range-diff.c
index a83c386ffc..48d6e26f1a 100644
--- a/range-diff.c
+++ b/range-diff.c
@@ -80,6 +80,8 @@ static int read_patches(const char *range, struct string_list *list,
finish_command(&cp);
return -1;
}
+ if (finish_command(&cp))
+ return -1;
line = contents.buf;
size = contents.len;
@@ -101,7 +103,6 @@ static int read_patches(const char *range, struct string_list *list,
string_list_clear(list, 1);
strbuf_release(&buf);
strbuf_release(&contents);
- finish_command(&cp);
return -1;
}
util->matching = -1;
@@ -117,7 +118,6 @@ static int read_patches(const char *range, struct string_list *list,
string_list_clear(list, 1);
strbuf_release(&buf);
strbuf_release(&contents);
- finish_command(&cp);
return -1;
}
@@ -227,9 +227,6 @@ static int read_patches(const char *range, struct string_list *list,
strbuf_release(&buf);
free(current_filename);
- if (finish_command(&cp))
- return -1;
-
return 0;
}