RenameDetector: Only scan deletes if adds exist
If there are only deletes, don't need perform rename or copy detection. There are no adds (aka destinations) for the deletes to match against. Change-Id: I00fb90c509fa26a053de561dd8506cc1e0f5799a Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
parent
05653bda04
commit
bc9bca064d
|
@ -357,9 +357,17 @@ public List<DiffEntry> compute(ContentSource.Pair reader, ProgressMonitor pm)
|
|||
|
||||
if (pm == null)
|
||||
pm = NullProgressMonitor.INSTANCE;
|
||||
|
||||
if (0 < breakScore)
|
||||
breakModifies(reader, pm);
|
||||
|
||||
if (!added.isEmpty() && !deleted.isEmpty())
|
||||
findExactRenames(pm);
|
||||
|
||||
if (!added.isEmpty() && !deleted.isEmpty())
|
||||
findContentRenames(reader, pm);
|
||||
|
||||
if (0 < breakScore && !added.isEmpty() && !deleted.isEmpty())
|
||||
rejoinModifies(pm);
|
||||
|
||||
entries.addAll(added);
|
||||
|
@ -383,9 +391,6 @@ public void reset() {
|
|||
|
||||
private void breakModifies(ContentSource.Pair reader, ProgressMonitor pm)
|
||||
throws IOException {
|
||||
if (breakScore <= 0)
|
||||
return;
|
||||
|
||||
ArrayList<DiffEntry> newEntries = new ArrayList<DiffEntry>(entries.size());
|
||||
|
||||
pm.beginTask(JGitText.get().renamesBreakingModifies, entries.size());
|
||||
|
@ -469,9 +474,6 @@ private void findContentRenames(ContentSource.Pair reader,
|
|||
ProgressMonitor pm)
|
||||
throws IOException {
|
||||
int cnt = Math.max(added.size(), deleted.size());
|
||||
if (cnt == 0)
|
||||
return;
|
||||
|
||||
if (getRenameLimit() == 0 || cnt <= getRenameLimit()) {
|
||||
SimilarityRenameDetector d;
|
||||
|
||||
|
@ -489,9 +491,6 @@ private void findContentRenames(ContentSource.Pair reader,
|
|||
|
||||
@SuppressWarnings("unchecked")
|
||||
private void findExactRenames(ProgressMonitor pm) {
|
||||
if (added.isEmpty() || deleted.isEmpty())
|
||||
return;
|
||||
|
||||
pm.beginTask(JGitText.get().renamesFindingExact, //
|
||||
added.size() + added.size() + deleted.size()
|
||||
+ added.size() * deleted.size());
|
||||
|
|
Loading…
Reference in New Issue