comparison src/org/tmatesoft/hg/repo/HgStatusCollector.java @ 694:7efabe0cddcf

Speed up (a) file rename history to minimize file reads; (b) file.isCopy(int) to read metadata for few revisions at once (use pattern assumes earlier revisions are likely to be queried, too); (c) HgIgnore.isIgnored by caching matched initial fragments (to substitute more expensive Matcher.matches with cheaper HashMap.contains)
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Mon, 05 Aug 2013 17:42:10 +0200
parents 72fc7774b87e
children
comparison
equal deleted inserted replaced
693:32b0d19e8aba 694:7efabe0cddcf
297 r1 = get(rev1); 297 r1 = get(rev1);
298 r2 = get(rev2); 298 r2 = get(rev2);
299 299
300 final CancelSupport cs = CancelSupport.Factory.get(inspector); 300 final CancelSupport cs = CancelSupport.Factory.get(inspector);
301 301
302
303 Collection<Path> allBaseFiles = r1.files(); 302 Collection<Path> allBaseFiles = r1.files();
304 TreeSet<Path> r1Files = new TreeSet<Path>(allBaseFiles); 303 TreeSet<Path> r1Files = new TreeSet<Path>(allBaseFiles);
305 for (Path r2fname : r2.files()) { 304 for (Path r2fname : r2.files()) {
306 if (!scope.accept(r2fname)) { 305 if (!scope.accept(r2fname)) {
307 continue; 306 continue;