Mercurial > hg4j
comparison src/org/tmatesoft/hg/core/HgLogCommand.java @ 432:1fc0da631200
Revlog.ParentWalker helper class got promoted as TLC, renamed to HgParentChildMap
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Fri, 30 Mar 2012 16:22:51 +0200 |
parents | 12f668401613 |
children | 909306e412e2 |
comparison
equal
deleted
inserted
replaced
431:12f668401613 | 432:1fc0da631200 |
---|---|
38 import org.tmatesoft.hg.repo.HgInvalidControlFileException; | 38 import org.tmatesoft.hg.repo.HgInvalidControlFileException; |
39 import org.tmatesoft.hg.repo.HgInvalidStateException; | 39 import org.tmatesoft.hg.repo.HgInvalidStateException; |
40 import org.tmatesoft.hg.repo.HgRepository; | 40 import org.tmatesoft.hg.repo.HgRepository; |
41 import org.tmatesoft.hg.repo.HgRuntimeException; | 41 import org.tmatesoft.hg.repo.HgRuntimeException; |
42 import org.tmatesoft.hg.repo.HgStatusCollector; | 42 import org.tmatesoft.hg.repo.HgStatusCollector; |
43 import org.tmatesoft.hg.repo.HgParentChildMap; | |
43 import org.tmatesoft.hg.util.CancelSupport; | 44 import org.tmatesoft.hg.util.CancelSupport; |
44 import org.tmatesoft.hg.util.CancelledException; | 45 import org.tmatesoft.hg.util.CancelledException; |
45 import org.tmatesoft.hg.util.Pair; | 46 import org.tmatesoft.hg.util.Pair; |
46 import org.tmatesoft.hg.util.Path; | 47 import org.tmatesoft.hg.util.Path; |
47 import org.tmatesoft.hg.util.ProgressSupport; | 48 import org.tmatesoft.hg.util.ProgressSupport; |
68 private int startRev = 0, endRev = TIP; | 69 private int startRev = 0, endRev = TIP; |
69 private Calendar date; | 70 private Calendar date; |
70 private Path file; | 71 private Path file; |
71 private boolean followHistory; // makes sense only when file != null | 72 private boolean followHistory; // makes sense only when file != null |
72 private ChangesetTransformer csetTransform; | 73 private ChangesetTransformer csetTransform; |
73 private HgChangelog.ParentWalker parentHelper; | 74 private HgParentChildMap<HgChangelog> parentHelper; |
74 | 75 |
75 public HgLogCommand(HgRepository hgRepo) { | 76 public HgLogCommand(HgRepository hgRepo) { |
76 repo = hgRepo; | 77 repo = hgRepo; |
77 } | 78 } |
78 | 79 |
232 throw new ConcurrentModificationException(); | 233 throw new ConcurrentModificationException(); |
233 } | 234 } |
234 final ProgressSupport progressHelper = getProgressSupport(handler); | 235 final ProgressSupport progressHelper = getProgressSupport(handler); |
235 try { | 236 try { |
236 count = 0; | 237 count = 0; |
237 HgChangelog.ParentWalker pw = getParentHelper(file == null); // leave it uninitialized unless we iterate whole repo | 238 HgParentChildMap<HgChangelog> pw = getParentHelper(file == null); // leave it uninitialized unless we iterate whole repo |
238 // ChangesetTransfrom creates a blank PathPool, and #file(String, boolean) above | 239 // ChangesetTransfrom creates a blank PathPool, and #file(String, boolean) above |
239 // may utilize it as well. CommandContext? How about StatusCollector there as well? | 240 // may utilize it as well. CommandContext? How about StatusCollector there as well? |
240 csetTransform = new ChangesetTransformer(repo, handler, pw, progressHelper, getCancelSupport(handler, true)); | 241 csetTransform = new ChangesetTransformer(repo, handler, pw, progressHelper, getCancelSupport(handler, true)); |
241 if (file == null) { | 242 if (file == null) { |
242 progressHelper.start(endRev - startRev + 1); | 243 progressHelper.start(endRev - startRev + 1); |
385 } | 386 } |
386 count++; | 387 count++; |
387 csetTransform.next(revisionNumber, nodeid, cset); | 388 csetTransform.next(revisionNumber, nodeid, cset); |
388 } | 389 } |
389 | 390 |
390 private HgChangelog.ParentWalker getParentHelper(boolean create) throws HgInvalidControlFileException { | 391 private HgParentChildMap<HgChangelog> getParentHelper(boolean create) throws HgInvalidControlFileException { |
391 if (parentHelper == null && create) { | 392 if (parentHelper == null && create) { |
392 parentHelper = repo.getChangelog().new ParentWalker(); | 393 parentHelper = new HgParentChildMap<HgChangelog>(repo.getChangelog()); |
393 parentHelper.init(); | 394 parentHelper.init(); |
394 } | 395 } |
395 return parentHelper; | 396 return parentHelper; |
396 } | 397 } |
397 | 398 |