IndexDiff: Remove unnecessary changesExist flag

Instead of setting a boolean when a difference record is found, return
false from diff() only if all of the collections are empty.  When all
of them are empty, no difference was found.

Change-Id: I555fef37adb764ce253481751071c53ad12cf416
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:
Shawn O. Pearce 2010-12-07 19:11:05 -08:00
parent a66a7d90fd
commit 18abb8195a
1 changed files with 7 additions and 8 deletions

View File

@ -168,7 +168,6 @@ public void setFilter(TreeFilter filter) {
* @throws IOException * @throws IOException
*/ */
public boolean diff() throws IOException { public boolean diff() throws IOException {
boolean changesExist = false;
dirCache = repository.readDirCache(); dirCache = repository.readDirCache();
TreeWalk treeWalk = new TreeWalk(repository); TreeWalk treeWalk = new TreeWalk(repository);
@ -202,12 +201,10 @@ public boolean diff() throws IOException {
!= dirCacheIterator.getEntryRawMode()) { != dirCacheIterator.getEntryRawMode()) {
// in repo, in index, content diff => changed // in repo, in index, content diff => changed
changed.add(treeWalk.getPathString()); changed.add(treeWalk.getPathString());
changesExist = true;
} }
} else { } else {
// in repo, not in index => removed // in repo, not in index => removed
removed.add(treeWalk.getPathString()); removed.add(treeWalk.getPathString());
changesExist = true;
if (workingTreeIterator != null) if (workingTreeIterator != null)
untracked.add(treeWalk.getPathString()); untracked.add(treeWalk.getPathString());
} }
@ -215,13 +212,11 @@ public boolean diff() throws IOException {
if (dirCacheIterator != null) { if (dirCacheIterator != null) {
// not in repo, in index => added // not in repo, in index => added
added.add(treeWalk.getPathString()); added.add(treeWalk.getPathString());
changesExist = true;
} else { } else {
// not in repo, not in index => untracked // not in repo, not in index => untracked
if (workingTreeIterator != null if (workingTreeIterator != null
&& !workingTreeIterator.isEntryIgnored()) { && !workingTreeIterator.isEntryIgnored()) {
untracked.add(treeWalk.getPathString()); untracked.add(treeWalk.getPathString());
changesExist = true;
} }
} }
} }
@ -230,18 +225,22 @@ public boolean diff() throws IOException {
if (workingTreeIterator == null) { if (workingTreeIterator == null) {
// in index, not in workdir => missing // in index, not in workdir => missing
missing.add(treeWalk.getPathString()); missing.add(treeWalk.getPathString());
changesExist = true;
} else { } else {
if (workingTreeIterator.isModified( if (workingTreeIterator.isModified(
dirCacheIterator.getDirCacheEntry(), true)) { dirCacheIterator.getDirCacheEntry(), true)) {
// in index, in workdir, content differs => modified // in index, in workdir, content differs => modified
modified.add(treeWalk.getPathString()); modified.add(treeWalk.getPathString());
changesExist = true;
} }
} }
} }
} }
return changesExist;
if (added.isEmpty() && changed.isEmpty() && removed.isEmpty()
&& missing.isEmpty() && modified.isEmpty()
&& untracked.isEmpty())
return false;
else
return true;
} }
/** /**