Mercurial > hg4j
comparison src/org/tmatesoft/hg/repo/HgChangelog.java @ 317:09628675bcee
Rework file history build approach to match rest of the API
| author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
|---|---|
| date | Thu, 29 Sep 2011 03:20:28 +0200 |
| parents | f9f3e9b67ccc |
| children | a674b8590362 |
comparison
equal
deleted
inserted
replaced
| 316:ee6b467c1a5f | 317:09628675bcee |
|---|---|
| 19 import java.io.IOException; | 19 import java.io.IOException; |
| 20 import java.io.UnsupportedEncodingException; | 20 import java.io.UnsupportedEncodingException; |
| 21 import java.util.ArrayList; | 21 import java.util.ArrayList; |
| 22 import java.util.Arrays; | 22 import java.util.Arrays; |
| 23 import java.util.Calendar; | 23 import java.util.Calendar; |
| 24 import java.util.Collection; | |
| 24 import java.util.Collections; | 25 import java.util.Collections; |
| 25 import java.util.Date; | 26 import java.util.Date; |
| 26 import java.util.Formatter; | 27 import java.util.Formatter; |
| 27 import java.util.HashMap; | 28 import java.util.HashMap; |
| 28 import java.util.List; | 29 import java.util.List; |
| 36 import org.tmatesoft.hg.internal.IterateControlMediator; | 37 import org.tmatesoft.hg.internal.IterateControlMediator; |
| 37 import org.tmatesoft.hg.internal.Lifecycle; | 38 import org.tmatesoft.hg.internal.Lifecycle; |
| 38 import org.tmatesoft.hg.internal.Pool; | 39 import org.tmatesoft.hg.internal.Pool; |
| 39 import org.tmatesoft.hg.internal.RevlogStream; | 40 import org.tmatesoft.hg.internal.RevlogStream; |
| 40 import org.tmatesoft.hg.util.CancelSupport; | 41 import org.tmatesoft.hg.util.CancelSupport; |
| 42 import org.tmatesoft.hg.util.Pair; | |
| 41 import org.tmatesoft.hg.util.ProgressSupport; | 43 import org.tmatesoft.hg.util.ProgressSupport; |
| 42 | 44 |
| 43 /** | 45 /** |
| 44 * Representation of the Mercurial changelog file (list of ChangeSets) | 46 * Representation of the Mercurial changelog file (list of ChangeSets) |
| 45 * | 47 * |
| 100 | 102 |
| 101 public interface Inspector { | 103 public interface Inspector { |
| 102 // TODO describe whether cset is new instance each time | 104 // TODO describe whether cset is new instance each time |
| 103 // describe what revisionNumber is when Inspector is used with HgBundle (BAD_REVISION or bundle's local order?) | 105 // describe what revisionNumber is when Inspector is used with HgBundle (BAD_REVISION or bundle's local order?) |
| 104 void next(int revisionNumber, Nodeid nodeid, RawChangeset cset); | 106 void next(int revisionNumber, Nodeid nodeid, RawChangeset cset); |
| 107 } | |
| 108 | |
| 109 /** | |
| 110 * Unlike regular {@link Inspector}, this one supplies changeset revision along with its parents and children according | |
| 111 * to parent information of the revlog this inspector visits. | |
| 112 * @see HgDataFile#history(TreeInspector) | |
| 113 */ | |
| 114 public interface TreeInspector { | |
| 115 // the reason TreeInsector is in HgChangelog, not in Revlog, because despite the fact it can | |
| 116 // be applied to any revlog, it's not meant to provide revisions of any revlog it's beeing applied to, | |
| 117 // but changeset revisions always. | |
| 118 // TODO HgChangelog.walk(TreeInspector) | |
| 119 void next(Nodeid changesetRevision, Pair<Nodeid, Nodeid> parentChangesets, Collection<Nodeid> childChangesets); | |
| 105 } | 120 } |
| 106 | 121 |
| 107 /** | 122 /** |
| 108 * Entry in the Changelog | 123 * Entry in the Changelog |
| 109 */ | 124 */ |
