Mercurial > hg4j
comparison cmdline/org/tmatesoft/hg/console/Main.java @ 479:59b7c817bc4d
Methods from Main graduated as tests
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Thu, 12 Jul 2012 20:02:49 +0200 |
parents | e74580e24feb |
children | a458f9fb00ce |
comparison
equal
deleted
inserted
replaced
478:e74580e24feb | 479:59b7c817bc4d |
---|---|
14 * the terms of a license other than GNU General Public License | 14 * the terms of a license other than GNU General Public License |
15 * contact TMate Software at support@hg4j.com | 15 * contact TMate Software at support@hg4j.com |
16 */ | 16 */ |
17 package org.tmatesoft.hg.console; | 17 package org.tmatesoft.hg.console; |
18 | 18 |
19 import static org.junit.Assert.*; | |
19 import static org.tmatesoft.hg.repo.HgRepository.TIP; | 20 import static org.tmatesoft.hg.repo.HgRepository.TIP; |
20 import static org.tmatesoft.hg.repo.HgRepository.WORKING_COPY; | 21 import static org.tmatesoft.hg.repo.HgRepository.WORKING_COPY; |
21 import static org.tmatesoft.hg.util.LogFacility.Severity.*; | 22 import static org.tmatesoft.hg.util.LogFacility.Severity.*; |
22 | 23 |
23 import java.io.File; | 24 import java.io.File; |
26 import java.util.Collection; | 27 import java.util.Collection; |
27 import java.util.Collections; | 28 import java.util.Collections; |
28 import java.util.HashSet; | 29 import java.util.HashSet; |
29 import java.util.List; | 30 import java.util.List; |
30 import java.util.Map; | 31 import java.util.Map; |
31 | 32 import java.util.regex.Pattern; |
32 import org.junit.Assert; | 33 |
33 import org.tmatesoft.hg.core.HgManifestHandler; | 34 import org.tmatesoft.hg.core.HgManifestHandler; |
34 import org.tmatesoft.hg.core.HgCallbackTargetException; | 35 import org.tmatesoft.hg.core.HgCallbackTargetException; |
35 import org.tmatesoft.hg.core.HgCatCommand; | 36 import org.tmatesoft.hg.core.HgCatCommand; |
36 import org.tmatesoft.hg.core.HgChangeset; | 37 import org.tmatesoft.hg.core.HgChangeset; |
37 import org.tmatesoft.hg.core.HgChangesetFileSneaker; | 38 import org.tmatesoft.hg.core.HgChangesetFileSneaker; |
42 import org.tmatesoft.hg.core.HgManifestCommand; | 43 import org.tmatesoft.hg.core.HgManifestCommand; |
43 import org.tmatesoft.hg.core.Nodeid; | 44 import org.tmatesoft.hg.core.Nodeid; |
44 import org.tmatesoft.hg.internal.BasicSessionContext; | 45 import org.tmatesoft.hg.internal.BasicSessionContext; |
45 import org.tmatesoft.hg.internal.ByteArrayChannel; | 46 import org.tmatesoft.hg.internal.ByteArrayChannel; |
46 import org.tmatesoft.hg.internal.DigestHelper; | 47 import org.tmatesoft.hg.internal.DigestHelper; |
48 import org.tmatesoft.hg.internal.IntMap; | |
47 import org.tmatesoft.hg.internal.PathGlobMatcher; | 49 import org.tmatesoft.hg.internal.PathGlobMatcher; |
48 import org.tmatesoft.hg.internal.PhasesHelper; | 50 import org.tmatesoft.hg.internal.PhasesHelper; |
49 import org.tmatesoft.hg.internal.RelativePathRewrite; | 51 import org.tmatesoft.hg.internal.RelativePathRewrite; |
50 import org.tmatesoft.hg.internal.RevisionDescendants; | 52 import org.tmatesoft.hg.internal.RevisionDescendants; |
51 import org.tmatesoft.hg.internal.StreamLogFacility; | 53 import org.tmatesoft.hg.internal.StreamLogFacility; |
71 import org.tmatesoft.hg.repo.HgSubrepoLocation.Kind; | 73 import org.tmatesoft.hg.repo.HgSubrepoLocation.Kind; |
72 import org.tmatesoft.hg.repo.ext.MqManager; | 74 import org.tmatesoft.hg.repo.ext.MqManager; |
73 import org.tmatesoft.hg.repo.ext.MqManager.PatchRecord; | 75 import org.tmatesoft.hg.repo.ext.MqManager.PatchRecord; |
74 import org.tmatesoft.hg.repo.HgWorkingCopyStatusCollector; | 76 import org.tmatesoft.hg.repo.HgWorkingCopyStatusCollector; |
75 import org.tmatesoft.hg.repo.HgRevisionMap; | 77 import org.tmatesoft.hg.repo.HgRevisionMap; |
78 import org.tmatesoft.hg.test.ExecHelper; | |
79 import org.tmatesoft.hg.test.OutputParser; | |
76 import org.tmatesoft.hg.util.FileWalker; | 80 import org.tmatesoft.hg.util.FileWalker; |
77 import org.tmatesoft.hg.util.LogFacility; | 81 import org.tmatesoft.hg.util.LogFacility; |
78 import org.tmatesoft.hg.util.Pair; | 82 import org.tmatesoft.hg.util.Pair; |
79 import org.tmatesoft.hg.util.Path; | 83 import org.tmatesoft.hg.util.Path; |
80 import org.tmatesoft.hg.util.PathRewrite; | 84 import org.tmatesoft.hg.util.PathRewrite; |
103 System.out.println("REPO:" + hgRepo.getLocation()); | 107 System.out.println("REPO:" + hgRepo.getLocation()); |
104 } | 108 } |
105 | 109 |
106 public static void main(String[] args) throws Exception { | 110 public static void main(String[] args) throws Exception { |
107 Main m = new Main(args); | 111 Main m = new Main(args); |
108 // m.checkWalkFileRevisions(); | |
109 // m.buildFileLog(); | 112 // m.buildFileLog(); |
110 // m.testConsoleLog(); | 113 // m.testConsoleLog(); |
111 // m.testTreeTraversal(); | 114 // m.testTreeTraversal(); |
112 // m.testRevisionMap(); | 115 // m.testRevisionMap(); |
113 // m.testSubrepos(); | 116 // m.testSubrepos(); |
114 // m.testReadWorkingCopy(); | 117 // m.testReadWorkingCopy(); |
115 // m.testParents(); | 118 // m.testParents(); |
116 // m.testEffectiveFileLog(); | 119 // m.testEffectiveFileLog(); |
117 // m.testCatAtCsetRevision(); | |
118 // m.testMergeState(); | 120 // m.testMergeState(); |
119 // m.testFileStatus(); | 121 // m.testFileStatus(); |
120 // m.dumpBranches(); | 122 // m.dumpBranches(); |
121 // m.inflaterLengthException(); | 123 // m.inflaterLengthException(); |
122 // m.dumpIgnored(); | 124 // m.dumpIgnored(); |
124 // m.testStatusInternals(); | 126 // m.testStatusInternals(); |
125 // m.catCompleteHistory(); | 127 // m.catCompleteHistory(); |
126 // m.dumpCompleteManifestLow(); | 128 // m.dumpCompleteManifestLow(); |
127 // m.dumpCompleteManifestHigh(); | 129 // m.dumpCompleteManifestHigh(); |
128 // m.bunchOfTests(); | 130 // m.bunchOfTests(); |
129 } | |
130 | |
131 // hg4j repo | |
132 public void checkWalkFileRevisions() throws Exception { | |
133 // hg --debug manifest --rev 150 | grep cmdline/org/tmatesoft/hg/console/Main.java | |
134 hgRepo.getManifest().walkFileRevisions(Path.create("cmdline/org/tmatesoft/hg/console/Main.java"), new ManifestDump(), 100, 150, 200, 210, 300); | |
135 } | 131 } |
136 | 132 |
137 private void buildFileLog() throws Exception { | 133 private void buildFileLog() throws Exception { |
138 final long start = System.nanoTime(); | 134 final long start = System.nanoTime(); |
139 HgLogCommand cmd = new HgLogCommand(hgRepo); | 135 HgLogCommand cmd = new HgLogCommand(hgRepo); |
347 } | 343 } |
348 }); | 344 }); |
349 } | 345 } |
350 System.out.printf("Done: %d\n", System.currentTimeMillis() - start); | 346 System.out.printf("Done: %d\n", System.currentTimeMillis() - start); |
351 } | 347 } |
352 } | |
353 | |
354 // TODO as test in TestCat | |
355 private void testCatAtCsetRevision() throws Exception { | |
356 HgCatCommand cmd = new HgCatCommand(hgRepo); | |
357 final Path file = Path.create("src/org/tmatesoft/hg/internal/RevlogStream.java"); | |
358 cmd.file(file); | |
359 final Nodeid cset = Nodeid.fromAscii("08db726a0fb7914ac9d27ba26dc8bbf6385a0554"); | |
360 cmd.changeset(cset); | |
361 final ByteArrayChannel sink = new ByteArrayChannel(); | |
362 cmd.execute(sink); | |
363 System.out.println(sink.toArray().length); | |
364 HgChangesetFileSneaker i = new HgChangesetFileSneaker(hgRepo); | |
365 boolean result = i.changeset(cset).checkExists(file); | |
366 Assert.assertFalse(result); | |
367 Assert.assertFalse(i.exists()); | |
368 result = i.followRenames(true).checkExists(file); | |
369 Assert.assertTrue(result); | |
370 Assert.assertTrue(i.exists()); | |
371 HgCatCommand cmd2 = new HgCatCommand(hgRepo).revision(i.getFileRevision()); | |
372 final ByteArrayChannel sink2 = new ByteArrayChannel(); | |
373 cmd2.execute(sink2); | |
374 System.out.println(sink2.toArray().length); | |
375 Assert.assertEquals(sink.toArray().length, sink2.toArray().length); | |
376 } | 348 } |
377 | 349 |
378 private void testMergeState() throws Exception { | 350 private void testMergeState() throws Exception { |
379 final HgMergeState mergeState = hgRepo.getMergeState(); | 351 final HgMergeState mergeState = hgRepo.getMergeState(); |
380 mergeState.refresh(); | 352 mergeState.refresh(); |