Mercurial > hg4j
comparison cmdline/org/tmatesoft/hg/console/Main.java @ 417:ccd7d25e5aea
New and better name for HgFileInformer - HgChangesetFileSneaker. Explain (comments) ties between HgManifest, HgDataFile, HgChangesetFileSneaker and reasons for method placement
| author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
|---|---|
| date | Thu, 22 Mar 2012 20:14:06 +0100 |
| parents | d30083c80d52 |
| children | 9c9c442b5f2e |
comparison
equal
deleted
inserted
replaced
| 416:d30083c80d52 | 417:ccd7d25e5aea |
|---|---|
| 30 import org.junit.Assert; | 30 import org.junit.Assert; |
| 31 import org.tmatesoft.hg.core.HgBadStateException; | 31 import org.tmatesoft.hg.core.HgBadStateException; |
| 32 import org.tmatesoft.hg.core.HgCallbackTargetException; | 32 import org.tmatesoft.hg.core.HgCallbackTargetException; |
| 33 import org.tmatesoft.hg.core.HgCatCommand; | 33 import org.tmatesoft.hg.core.HgCatCommand; |
| 34 import org.tmatesoft.hg.core.HgChangeset; | 34 import org.tmatesoft.hg.core.HgChangeset; |
| 35 import org.tmatesoft.hg.core.HgChangesetFileSneaker; | |
| 35 import org.tmatesoft.hg.core.HgChangesetTreeHandler; | 36 import org.tmatesoft.hg.core.HgChangesetTreeHandler; |
| 36 import org.tmatesoft.hg.core.HgDataStreamException; | |
| 37 import org.tmatesoft.hg.core.HgException; | 37 import org.tmatesoft.hg.core.HgException; |
| 38 import org.tmatesoft.hg.core.HgFileInformer; | |
| 39 import org.tmatesoft.hg.core.HgFileRevision; | 38 import org.tmatesoft.hg.core.HgFileRevision; |
| 40 import org.tmatesoft.hg.core.HgLogCommand; | 39 import org.tmatesoft.hg.core.HgLogCommand; |
| 41 import org.tmatesoft.hg.core.HgManifestCommand; | 40 import org.tmatesoft.hg.core.HgManifestCommand; |
| 42 import org.tmatesoft.hg.core.Nodeid; | 41 import org.tmatesoft.hg.core.Nodeid; |
| 43 import org.tmatesoft.hg.internal.ByteArrayChannel; | 42 import org.tmatesoft.hg.internal.ByteArrayChannel; |
| 134 public void next(HgChangesetTreeHandler.TreeElement entry) { | 133 public void next(HgChangesetTreeHandler.TreeElement entry) { |
| 135 try { | 134 try { |
| 136 StringBuilder sb = new StringBuilder(); | 135 StringBuilder sb = new StringBuilder(); |
| 137 HashSet<Nodeid> test = new HashSet<Nodeid>(entry.childRevisions()); | 136 HashSet<Nodeid> test = new HashSet<Nodeid>(entry.childRevisions()); |
| 138 for (HgChangeset cc : entry.children()) { | 137 for (HgChangeset cc : entry.children()) { |
| 139 sb.append(cc.getRevision()); | 138 sb.append(cc.getRevisionIndex()); |
| 140 sb.append(':'); | 139 sb.append(':'); |
| 141 sb.append(cc.getNodeid().shortNotation()); | 140 sb.append(cc.getNodeid().shortNotation()); |
| 142 sb.append(", "); | 141 sb.append(", "); |
| 143 } | 142 } |
| 144 final Pair<Nodeid, Nodeid> parents = entry.parentRevisions(); | 143 final Pair<Nodeid, Nodeid> parents = entry.parentRevisions(); |
| 145 final boolean isJoin = !parents.first().isNull() && !parents.second().isNull(); | 144 final boolean isJoin = !parents.first().isNull() && !parents.second().isNull(); |
| 146 final boolean isFork = entry.children().size() > 1; | 145 final boolean isFork = entry.children().size() > 1; |
| 147 final HgChangeset cset = entry.changeset(); | 146 final HgChangeset cset = entry.changeset(); |
| 148 System.out.printf("%d:%s - %s\n", cset.getRevision(), cset.getNodeid().shortNotation(), cset.getComment()); | 147 System.out.printf("%d:%s - %s\n", cset.getRevisionIndex(), cset.getNodeid().shortNotation(), cset.getComment()); |
| 149 if (!isJoin && !isFork && !entry.children().isEmpty()) { | 148 if (!isJoin && !isFork && !entry.children().isEmpty()) { |
| 150 System.out.printf("\t=> %s\n", sb); | 149 System.out.printf("\t=> %s\n", sb); |
| 151 } | 150 } |
| 152 if (isJoin) { | 151 if (isJoin) { |
| 153 HgChangeset p1 = entry.parents().first(); | 152 HgChangeset p1 = entry.parents().first(); |
| 154 HgChangeset p2 = entry.parents().second(); | 153 HgChangeset p2 = entry.parents().second(); |
| 155 System.out.printf("\tjoin <= (%d:%s, %d:%s)", p1.getRevision(), p1.getNodeid().shortNotation(), p2.getRevision(), p2.getNodeid().shortNotation()); | 154 System.out.printf("\tjoin <= (%d:%s, %d:%s)", p1.getRevisionIndex(), p1.getNodeid().shortNotation(), p2.getRevisionIndex(), p2.getNodeid().shortNotation()); |
| 156 if (isFork) { | 155 if (isFork) { |
| 157 System.out.print(", "); | 156 System.out.print(", "); |
| 158 } | 157 } |
| 159 } | 158 } |
| 160 if (isFork) { | 159 if (isFork) { |
| 351 final Nodeid cset = Nodeid.fromAscii("08db726a0fb7914ac9d27ba26dc8bbf6385a0554"); | 350 final Nodeid cset = Nodeid.fromAscii("08db726a0fb7914ac9d27ba26dc8bbf6385a0554"); |
| 352 cmd.changeset(cset); | 351 cmd.changeset(cset); |
| 353 final ByteArrayChannel sink = new ByteArrayChannel(); | 352 final ByteArrayChannel sink = new ByteArrayChannel(); |
| 354 cmd.execute(sink); | 353 cmd.execute(sink); |
| 355 System.out.println(sink.toArray().length); | 354 System.out.println(sink.toArray().length); |
| 356 HgFileInformer i = new HgFileInformer(hgRepo); | 355 HgChangesetFileSneaker i = new HgChangesetFileSneaker(hgRepo); |
| 357 boolean result = i.changeset(cset).checkExists(file); | 356 boolean result = i.changeset(cset).checkExists(file); |
| 358 Assert.assertFalse(result); | 357 Assert.assertFalse(result); |
| 359 Assert.assertFalse(i.exists()); | 358 Assert.assertFalse(i.exists()); |
| 360 result = i.followRenames(true).checkExists(file); | 359 result = i.followRenames(true).checkExists(file); |
| 361 Assert.assertTrue(result); | 360 Assert.assertTrue(result); |
