Skip to content

diffcore-rename improvements

Elijah Newren via GitGitGadget git 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest9 patches 4 repliesIn review
  2. v29 patches 4 repliesSuperseded
  3. v17 patches 19 repliesSuperseded

Changes in v3 from the cover letter

* Fixed spelling error: remove unnecessary double c in 'unneccessary' (thanks to Christian for spotting)

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9diffcore-rename: rename num_create to num_destinationsdiffcore-rename.c+13 -120 replies
2/9diffcore-rename: avoid usage of global in too_many_rename_candidates()diffcore-rename.c+12 -120 replies
3/9diffcore-rename: simplify limit checkdiffcore-rename.c+9 -64 replies
4/9diffcore-rename: reduce jumpiness in progress countersdiffcore-rename.c+3 -20 replies
5/9t4058: add more tests and documentation for duplicate tree entry handlingt/t4058-diff-duplicates.sh+45 -20 replies
6/9t4058: explore duplicate tree entry handling in a bit more detailt/t4058-diff-duplicates.sh+67 -00 replies
7/9diffcore-rename: simplify and accelerate register_rename_src()diffcore-rename.c+13 -260 replies
8/9diffcore-rename: accelerate rename_dst setupdiffcore-rename.c+65 -830 replies
9/9diffcore-rename: remove unnecessary duplicate entry checksdiffcore-rename.c t/t4058-diff-duplicates.sh+1 -240 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.

Read the v3 thread

Cover letter [PATCH v3 0/9] diffcore-rename improvements

This patch series includes 3 small code cleanups, 1 small bug fix (or perhaps just a UI improvement -- it's a very minor issue either way), more testcases, and 3 performance improvements. The first 7 patches are relatively easy to review, while the second to last one...is a bit more involved (but provided the biggest performance boost).

Changes since v2:

* Fixed spelling error: remove unnecessary double c in 'unneccessary' (thanks to Christian for spotting)

Elijah Newren (9):
diffcore-rename: rename num_create to num_destinations
diffcore-rename: avoid usage of global in too_many_rename_candidates()
diffcore-rename: simplify limit check
diffcore-rename: reduce jumpiness in progress counters
t4058: add more tests and documentation for duplicate tree entry
handling
t4058: explore duplicate tree entry handling in a bit more detail
diffcore-rename: simplify and accelerate register_rename_src()
diffcore-rename: accelerate rename_dst setup
diffcore-rename: remove unnecessary duplicate entry checks

 diffcore-rename.c          | 209 ++++++++++++++-----------------------
 t/t4058-diff-duplicates.sh | 114 +++++++++++++++++++-
 2 files changed, 192 insertions(+), 131 deletions(-)

base-commit: 3a0b884caba2752da0af626fb2de7d597c844e8b
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-929%2Fnewren%2Fdiffcore-rename-improvements-v3
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-929/newren/diffcore-rename-improvements-v3
Pull-Request: https://github.com/git/git/pull/929

Range-diff vs v2:

  1:  428d8204894 =  1:  428d8204894 diffcore-rename: rename num_create to num_destinations
  2:  fc62f4c4f89 =  2:  fc62f4c4f89 diffcore-rename: avoid usage of global in too_many_rename_candidates()
  3:  7214fa73fdd =  3:  7214fa73fdd diffcore-rename: simplify limit check
  4:  bf3581b1ac1 =  4:  bf3581b1ac1 diffcore-rename: reduce jumpiness in progress counters
  5:  9a4a3159acf =  5:  9a4a3159acf t4058: add more tests and documentation for duplicate tree entry handling
  6:  8db27892c59 =  6:  8db27892c59 t4058: explore duplicate tree entry handling in a bit more detail
  7:  a58639b2927 =  7:  a58639b2927 diffcore-rename: simplify and accelerate register_rename_src()
  8:  85714e1583d =  8:  85714e1583d diffcore-rename: accelerate rename_dst setup
  9:  af256b1c534 !  9:  723b0e55e75 diffcore-rename: remove unneccessary duplicate entry checks

@@ Metadata
Author: Elijah Newren <[email protected]>

## Commit message ##
- diffcore-rename: remove unneccessary duplicate entry checks
+ diffcore-rename: remove unnecessary duplicate entry checks

Commit 25d5ea410f ("[PATCH] Redo rename/copy detection logic.", 2005-05-24) added a duplicate entry check on rename_src in order to

Signature · 1 line
gitgitgadget