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 <newren@xxxxxxxxx> ## 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 -- gitgitgadget