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