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); |