From: "Elijah Newren via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Derrick Stolee <dstolee@microsoft.com>,
Jonathan Tan <jonathantanmy@google.com>,
Taylor Blau <me@ttaylorr.com>, Junio C Hamano <gitster@pobox.com>,
Jeff King <peff@peff.net>, Karsten Blees <blees@dcon.de>,
Derrick Stolee <stolee@gmail.com>,
Elijah Newren <newren@gmail.com>,
Elijah Newren <newren@gmail.com>
Subject: [PATCH v3 0/2] Optimization batch 6: make full use of exact renames
Date: Sun, 14 Feb 2021 07:34:59 +0000 [thread overview]
Message-ID: <pull.842.v3.git.1613288101.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.842.v2.git.1612382628.gitgitgadget@gmail.com>
This series makes full use of exact renames; removing not only a destination
pair, but a source pair as well when an exact rename is found and copy
detection is not turned on.
Changes since v2:
* Fix a comment typo, and fix a multi-line comment that didn't need to be a
multi-line comment
Elijah Newren (2):
diffcore-rename: no point trying to find a match better than exact
diffcore-rename: filter rename_src list when possible
diffcore-rename.c | 71 ++++++++++++++++++++++++++++++++++++++++-------
1 file changed, 61 insertions(+), 10 deletions(-)
base-commit: f0117958910fbc734457a83a9f8ecc3c62463417
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-842%2Fnewren%2Fort-perf-batch-6-v3
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-842/newren/ort-perf-batch-6-v3
Pull-Request: https://github.com/gitgitgadget/git/pull/842
Range-diff vs v2:
1: 770e894b4abd = 1: a59c1960f614 diffcore-rename: no point trying to find a match better than exact
2: 7ae9460d3dba ! 2: dd6595b45640 diffcore-rename: filter rename_src list when possible
@@ diffcore-rename.c: static int find_renames(struct diff_score *mx, int dst_cnt, i
+ if (detecting_copies)
+ return; /* nothing to remove */
+ if (break_idx)
-+ return; /* culling incompatbile with break detection */
++ return; /* culling incompatible with break detection */
+
+ /*
+ * Note on reasons why we cull unneeded sources but not destinations:
@@ diffcore-rename.c: static int find_renames(struct diff_score *mx, int dst_cnt, i
{
int detect_rename = options->detect_rename;
@@ diffcore-rename.c: void diffcore_rename(struct diff_options *options)
+ if (minimum_score == MAX_SCORE)
goto cleanup;
- /*
+- /*
- * Calculate how many renames are left (but all the source
- * files still remain as options for rename/copies!)
-+ * Calculate how many renames are left
- */
+- */
++ /* Calculate how many renames are left */
num_destinations = (rename_dst_nr - rename_count);
+ remove_unneeded_paths_from_src(want_copies);
num_sources = rename_src_nr;
--
gitgitgadget
next prev parent reply other threads:[~2021-02-14 7:36 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-03 5:49 [PATCH 0/2] Optimization batch 6: make full use of exact renames Elijah Newren via GitGitGadget
2021-02-03 5:49 ` [PATCH 1/2] diffcore-rename: no point trying to find a match better than exact Elijah Newren via GitGitGadget
2021-02-03 11:44 ` Derrick Stolee
2021-02-03 16:31 ` Elijah Newren
2021-02-03 18:46 ` Junio C Hamano
2021-02-03 19:10 ` Elijah Newren
2021-02-03 5:49 ` [PATCH 2/2] diffcore-rename: filter rename_src list when possible Elijah Newren via GitGitGadget
[not found] ` <13feb106-c3a7-a26d-0e6e-013aa45c58d4@gmail.com>
2021-02-03 17:12 ` Elijah Newren
2021-02-03 19:12 ` Junio C Hamano
2021-02-03 19:19 ` Elijah Newren
2021-02-03 20:03 ` [PATCH v2 0/2] Optimization batch 6: make full use of exact renames Elijah Newren via GitGitGadget
2021-02-03 20:03 ` [PATCH v2 1/2] diffcore-rename: no point trying to find a match better than exact Elijah Newren via GitGitGadget
2021-02-03 20:03 ` [PATCH v2 2/2] diffcore-rename: filter rename_src list when possible Elijah Newren via GitGitGadget
2021-02-13 1:04 ` Junio C Hamano
2021-02-13 4:24 ` Elijah Newren
2021-02-13 1:06 ` Junio C Hamano
2021-02-13 4:43 ` Elijah Newren
2021-02-03 21:56 ` [PATCH v2 0/2] Optimization batch 6: make full use of exact renames Junio C Hamano
2021-02-03 23:06 ` Elijah Newren
2021-02-03 23:26 ` Junio C Hamano
2021-02-03 23:36 ` Jeff King
2021-02-04 0:05 ` Elijah Newren
2021-02-14 7:34 ` Elijah Newren via GitGitGadget [this message]
2021-02-14 7:35 ` [PATCH v3 1/2] diffcore-rename: no point trying to find a match better than exact Elijah Newren via GitGitGadget
2021-02-14 7:35 ` [PATCH v3 2/2] diffcore-rename: filter rename_src list when possible Elijah Newren via GitGitGadget
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.842.v3.git.1613288101.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=blees@dcon.de \
--cc=dstolee@microsoft.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jonathantanmy@google.com \
--cc=me@ttaylorr.com \
--cc=newren@gmail.com \
--cc=peff@peff.net \
--cc=stolee@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.