[PATCH 2/5] combine-diff: calculate mode_differs earlier
- From
Jeff King <peff@peff.net>
- Date
- May 23, 2011, 20:16 UTC
- Message-ID
- <20110523201659.GB6298@sigill.intra.peff.net>
- In-Reply-To
- <20110523201529.GA6281@sigill.intra.peff.net>
One loop combined both the patch generation and checking whether there was any mode change to report. Let's factor that into two separate loops, as we may care about the mode change even if we are not generating patches (e.g., because we are showing a binary diff, which will come in a future patch).
Signed-off-by: Jeff King <peff@peff.net> --- combine-diff.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/combine-diff.c b/combine-diff.c index 309dc6c..2183184 100644 --- a/combine-diff.c +++ b/combine-diff.c @@ -845,6 +845,13 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent, close(fd); } + for (i = 0; i < num_parent; i++) { + if (elem->parent[i].mode != elem->mode) { + mode_differs = 1; + break; + } + } + for (cnt = 0, cp = result; cp < result + result_size; cp++) { if (*cp == '\n') cnt++; @@ -893,8 +900,6 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent, elem->parent[i].mode, &result_file, sline, cnt, i, num_parent, result_deleted); - if (elem->parent[i].mode != elem->mode) - mode_differs = 1; } show_hunks = make_hunks(sline, cnt, num_parent, dense);
-- 1.7.5.2.4.g43415