# HG changeset patch # User Artem Tikhomirov # Date 1342039529 -7200 # Node ID 5c09a9f2e073c51d032425e8c65805c6bdf38d46 # Parent 2a0b09eec376207411e74285c28cfff402577521 Issue 34: incorrect status for a file copy in wc against base rev diff -r 2a0b09eec376 -r 5c09a9f2e073 src/org/tmatesoft/hg/repo/HgWorkingCopyStatusCollector.java --- a/src/org/tmatesoft/hg/repo/HgWorkingCopyStatusCollector.java Wed Jul 11 21:46:28 2012 +0200 +++ b/src/org/tmatesoft/hg/repo/HgWorkingCopyStatusCollector.java Wed Jul 11 22:45:29 2012 +0200 @@ -270,9 +270,12 @@ } } if (collect != null) { + // perhaps, this code shall go after processing leftovers of knownEntries, below + // as it's sort of last resort - what to do with otherwise unprocessed base revision files for (Path fromBase : baseRevFiles) { if (repoWalker.inScope(fromBase)) { inspector.removed(fromBase); + processed.add(fromBase); cs.checkCancelled(); } } @@ -404,7 +407,8 @@ } } else if ((r = ds.checkAdded(fname)) != null) { if (r.copySource() != null && baseRevNames.contains(r.copySource())) { - baseRevNames.remove(r.copySource()); // FIXME likely I shall report rename source as Removed, same as above for Normal? + // shall not remove rename source from baseRevNames, as the source + // likely needs to be reported as Removed as well inspector.copied(r.copySource(), fname); return; } diff -r 2a0b09eec376 -r 5c09a9f2e073 test/org/tmatesoft/hg/test/TestAuxUtilities.java --- a/test/org/tmatesoft/hg/test/TestAuxUtilities.java Wed Jul 11 21:46:28 2012 +0200 +++ b/test/org/tmatesoft/hg/test/TestAuxUtilities.java Wed Jul 11 22:45:29 2012 +0200 @@ -318,7 +318,7 @@ } */ for (int i = 0; i < roots.length; i++) { - System.out.printf("%s & %s = 0x%x\n", toBinaryString(descendantBitset[i]), toBinaryString(~(1< sl2 = new ArrayList(l2); Collections.sort(sl2); + if (!sl1.isEmpty() && !sl2.isEmpty()) { + what = what + ", diff:" + difference(sl1, sl2); + } errorCollector.checkThat(what, sl1, equalTo(sl2)); }