Mercurial > hg4j
comparison cmdline/org/tmatesoft/hg/console/Main.java @ 239:df9d2854d3d6
Initial access to subrepositories
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Thu, 16 Jun 2011 04:23:51 +0200 |
parents | 6e1373b54e9b |
children | ad6a046943be |
comparison
equal
deleted
inserted
replaced
238:4817d4ccc50e | 239:df9d2854d3d6 |
---|---|
39 import org.tmatesoft.hg.repo.HgManifest; | 39 import org.tmatesoft.hg.repo.HgManifest; |
40 import org.tmatesoft.hg.repo.HgMergeState; | 40 import org.tmatesoft.hg.repo.HgMergeState; |
41 import org.tmatesoft.hg.repo.HgRepository; | 41 import org.tmatesoft.hg.repo.HgRepository; |
42 import org.tmatesoft.hg.repo.HgStatusCollector; | 42 import org.tmatesoft.hg.repo.HgStatusCollector; |
43 import org.tmatesoft.hg.repo.HgStatusInspector; | 43 import org.tmatesoft.hg.repo.HgStatusInspector; |
44 import org.tmatesoft.hg.repo.HgSubrepoLocation; | |
45 import org.tmatesoft.hg.repo.HgSubrepoLocation.Kind; | |
44 import org.tmatesoft.hg.repo.HgWorkingCopyStatusCollector; | 46 import org.tmatesoft.hg.repo.HgWorkingCopyStatusCollector; |
45 import org.tmatesoft.hg.repo.HgChangelog.RawChangeset; | 47 import org.tmatesoft.hg.repo.HgChangelog.RawChangeset; |
46 import org.tmatesoft.hg.util.Pair; | 48 import org.tmatesoft.hg.util.Pair; |
47 import org.tmatesoft.hg.util.Path; | 49 import org.tmatesoft.hg.util.Path; |
48 import org.tmatesoft.hg.util.ProgressSupport; | 50 import org.tmatesoft.hg.util.ProgressSupport; |
68 System.out.println("REPO:" + hgRepo.getLocation()); | 70 System.out.println("REPO:" + hgRepo.getLocation()); |
69 } | 71 } |
70 | 72 |
71 public static void main(String[] args) throws Exception { | 73 public static void main(String[] args) throws Exception { |
72 Main m = new Main(args); | 74 Main m = new Main(args); |
73 m.testReadWorkingCopy(); | 75 m.testSubrepos(); |
76 // m.testReadWorkingCopy(); | |
74 // m.testParents(); | 77 // m.testParents(); |
75 // m.testEffectiveFileLog(); | 78 // m.testEffectiveFileLog(); |
76 // m.testCatAtCsetRevision(); | 79 // m.testCatAtCsetRevision(); |
77 // m.testMergeState(); | 80 // m.testMergeState(); |
78 // m.testFileStatus(); | 81 // m.testFileStatus(); |
84 // m.catCompleteHistory(); | 87 // m.catCompleteHistory(); |
85 // m.dumpCompleteManifestLow(); | 88 // m.dumpCompleteManifestLow(); |
86 // m.dumpCompleteManifestHigh(); | 89 // m.dumpCompleteManifestHigh(); |
87 // m.bunchOfTests(); | 90 // m.bunchOfTests(); |
88 } | 91 } |
89 | 92 |
93 private void testSubrepos() throws Exception { | |
94 for (HgSubrepoLocation l : hgRepo.getSubrepositories()) { | |
95 System.out.println(l.getLocation()); | |
96 System.out.println(l.getSource()); | |
97 System.out.println(l.getType()); | |
98 System.out.println(l.isCommitted() ? l.getRevision() : "not yet committed"); | |
99 if (l.getType() == Kind.Hg) { | |
100 HgRepository r = l.getRepo(); | |
101 System.out.printf("%s has %d revisions\n", l.getLocation(), r.getChangelog().getLastRevision() + 1); | |
102 if (r.getChangelog().getLastRevision() >= 0) { | |
103 final RawChangeset c = r.getChangelog().range(TIP, TIP).get(0); | |
104 System.out.printf("TIP: %s %s %s\n", c.user(), c.dateString(), c.comment()); | |
105 } | |
106 } | |
107 } | |
108 } | |
109 | |
90 private void testReadWorkingCopy() throws Exception { | 110 private void testReadWorkingCopy() throws Exception { |
91 for (String fname : cmdLineOpts.getList("")) { | 111 for (String fname : cmdLineOpts.getList("")) { |
92 HgDataFile fn = hgRepo.getFileNode(fname); | 112 HgDataFile fn = hgRepo.getFileNode(fname); |
93 ByteArrayChannel sink = new ByteArrayChannel(); | 113 ByteArrayChannel sink = new ByteArrayChannel(); |
94 fn.workingCopy(sink); | 114 fn.workingCopy(sink); |