Mercurial > hg4j
comparison cmdline/org/tmatesoft/hg/console/Main.java @ 628:6526d8adbc0f
Explicit HgRuntimeException to facilitate easy switch from runtime to checked exceptions
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Wed, 22 May 2013 15:52:31 +0200 |
parents | e4a71afd3c71 |
children | a937e63b6e02 |
comparison
equal
deleted
inserted
replaced
627:5153eb73b18d | 628:6526d8adbc0f |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2011-2012 TMate Software Ltd | 2 * Copyright (c) 2011-2013 TMate Software Ltd |
3 * | 3 * |
4 * This program is free software; you can redistribute it and/or modify | 4 * This program is free software; you can redistribute it and/or modify |
5 * it under the terms of the GNU General Public License as published by | 5 * it under the terms of the GNU General Public License as published by |
6 * the Free Software Foundation; version 2 of the License. | 6 * the Free Software Foundation; version 2 of the License. |
7 * | 7 * |
55 import org.tmatesoft.hg.repo.HgDirstate; | 55 import org.tmatesoft.hg.repo.HgDirstate; |
56 import org.tmatesoft.hg.repo.HgDirstate.EntryKind; | 56 import org.tmatesoft.hg.repo.HgDirstate.EntryKind; |
57 import org.tmatesoft.hg.repo.HgDirstate.Record; | 57 import org.tmatesoft.hg.repo.HgDirstate.Record; |
58 import org.tmatesoft.hg.repo.HgIgnore; | 58 import org.tmatesoft.hg.repo.HgIgnore; |
59 import org.tmatesoft.hg.repo.HgInternals; | 59 import org.tmatesoft.hg.repo.HgInternals; |
60 import org.tmatesoft.hg.repo.HgInvalidControlFileException; | |
60 import org.tmatesoft.hg.repo.HgManifest; | 61 import org.tmatesoft.hg.repo.HgManifest; |
61 import org.tmatesoft.hg.repo.HgManifest.Flags; | 62 import org.tmatesoft.hg.repo.HgManifest.Flags; |
62 import org.tmatesoft.hg.repo.HgMergeState; | 63 import org.tmatesoft.hg.repo.HgMergeState; |
63 import org.tmatesoft.hg.repo.HgRepository; | 64 import org.tmatesoft.hg.repo.HgRepository; |
64 import org.tmatesoft.hg.repo.HgRevisionMap; | 65 import org.tmatesoft.hg.repo.HgRevisionMap; |
217 final long start = System.nanoTime(); | 218 final long start = System.nanoTime(); |
218 HgLogCommand cmd = new HgLogCommand(hgRepo); | 219 HgLogCommand cmd = new HgLogCommand(hgRepo); |
219 cmd.file("a2.txt", true, false); | 220 cmd.file("a2.txt", true, false); |
220 final int[] count = new int[] { 0 }; | 221 final int[] count = new int[] { 0 }; |
221 class MyHandler implements HgChangesetTreeHandler, Adaptable { | 222 class MyHandler implements HgChangesetTreeHandler, Adaptable { |
222 public void treeElement(HgChangesetTreeHandler.TreeElement entry) { | 223 public void treeElement(HgChangesetTreeHandler.TreeElement entry) throws HgRuntimeException { |
223 StringBuilder sb = new StringBuilder(); | 224 StringBuilder sb = new StringBuilder(); |
224 HashSet<Nodeid> test = new HashSet<Nodeid>(entry.childRevisions()); | 225 HashSet<Nodeid> test = new HashSet<Nodeid>(entry.childRevisions()); |
225 for (HgChangeset cc : entry.children()) { | 226 for (HgChangeset cc : entry.children()) { |
226 sb.append(cc.getRevisionIndex()); | 227 sb.append(cc.getRevisionIndex()); |
227 sb.append(':'); | 228 sb.append(':'); |
517 System.out.println(bac.toArray().length); | 518 System.out.println(bac.toArray().length); |
518 f2.content(0, bac = new ByteArrayChannel()); // 0: 14269 | 519 f2.content(0, bac = new ByteArrayChannel()); // 0: 14269 |
519 System.out.println(bac.toArray().length); | 520 System.out.println(bac.toArray().length); |
520 } | 521 } |
521 | 522 |
522 private void dumpIgnored() { | 523 private void dumpIgnored() throws HgInvalidControlFileException { |
523 String[] toCheck = new String[] {"design.txt", "src/com/tmate/hgkit/ll/Changelog.java", "src/Extras.java", "bin/com/tmate/hgkit/ll/Changelog.class"}; | 524 String[] toCheck = new String[] {"design.txt", "src/com/tmate/hgkit/ll/Changelog.java", "src/Extras.java", "bin/com/tmate/hgkit/ll/Changelog.class"}; |
524 HgIgnore ignore = hgRepo.getIgnore(); | 525 HgIgnore ignore = hgRepo.getIgnore(); |
525 for (int i = 0; i < toCheck.length; i++) { | 526 for (int i = 0; i < toCheck.length; i++) { |
526 System.out.println("Ignored " + toCheck[i] + ": " + ignore.isIgnored(Path.create(toCheck[i]))); | 527 System.out.println("Ignored " + toCheck[i] + ": " + ignore.isIgnored(Path.create(toCheck[i]))); |
527 } | 528 } |
607 System.out.println(">> " + manifestRevision); | 608 System.out.println(">> " + manifestRevision); |
608 } | 609 } |
609 public void dir(Path p) { | 610 public void dir(Path p) { |
610 System.out.println(p); | 611 System.out.println(p); |
611 } | 612 } |
612 public void file(HgFileRevision fileRevision) { | 613 public void file(HgFileRevision fileRevision) throws HgRuntimeException { |
613 System.out.print(fileRevision.getRevision());; | 614 System.out.print(fileRevision.getRevision());; |
614 System.out.print(" "); | 615 System.out.print(" "); |
615 System.out.printf("%s %s", fileRevision.getParents().first().shortNotation(), fileRevision.getParents().second().shortNotation()); | 616 System.out.printf("%s %s", fileRevision.getParents().first().shortNotation(), fileRevision.getParents().second().shortNotation()); |
616 System.out.print(" "); | 617 System.out.print(" "); |
617 System.out.println(fileRevision.getPath()); | 618 System.out.println(fileRevision.getPath()); |
670 } | 671 } |
671 } | 672 } |
672 } | 673 } |
673 | 674 |
674 | 675 |
675 private void testStatusInternals() throws HgException { | 676 private void testStatusInternals() throws HgException, HgRuntimeException { |
676 HgDataFile n = hgRepo.getFileNode(Path.create("design.txt")); | 677 HgDataFile n = hgRepo.getFileNode(Path.create("design.txt")); |
677 for (String s : new String[] {"011dfd44417c72bd9e54cf89b82828f661b700ed", "e5529faa06d53e06a816e56d218115b42782f1ba", "c18e7111f1fc89a80a00f6a39d51288289a382fc"}) { | 678 for (String s : new String[] {"011dfd44417c72bd9e54cf89b82828f661b700ed", "e5529faa06d53e06a816e56d218115b42782f1ba", "c18e7111f1fc89a80a00f6a39d51288289a382fc"}) { |
678 // expected: 359, 2123, 3079 | 679 // expected: 359, 2123, 3079 |
679 byte[] b = s.getBytes(); | 680 byte[] b = s.getBytes(); |
680 final Nodeid nid = Nodeid.fromAscii(b, 0, b.length); | 681 final Nodeid nid = Nodeid.fromAscii(b, 0, b.length); |