tikhomirov@17: /* tikhomirov@1: * Copyright (c) 2010 Artem Tikhomirov tikhomirov@1: */ tikhomirov@1: package com.tmate.hgkit.console; tikhomirov@1: tikhomirov@2: import com.tmate.hgkit.fs.RepositoryLookup; tikhomirov@17: import com.tmate.hgkit.ll.DigestHelper; tikhomirov@5: import com.tmate.hgkit.ll.HgDataFile; tikhomirov@17: import com.tmate.hgkit.ll.HgIgnore; tikhomirov@1: import com.tmate.hgkit.ll.HgRepository; tikhomirov@17: import com.tmate.hgkit.ll.LocalHgRepo; tikhomirov@1: tikhomirov@1: /** tikhomirov@1: * @author artem tikhomirov@1: * tikhomirov@1: */ tikhomirov@1: public class Cat { tikhomirov@1: tikhomirov@1: public static void main(String[] args) throws Exception { tikhomirov@2: RepositoryLookup repoLookup = new RepositoryLookup(); tikhomirov@5: RepositoryLookup.Options cmdLineOpts = RepositoryLookup.Options.parse(args); tikhomirov@5: HgRepository hgRepo = repoLookup.detect(cmdLineOpts); tikhomirov@1: if (hgRepo.isInvalid()) { tikhomirov@1: System.err.printf("Can't find repository in: %s\n", hgRepo.getLocation()); tikhomirov@1: return; tikhomirov@1: } tikhomirov@17: HgIgnore ignore = ((LocalHgRepo) hgRepo).loadIgnore(); tikhomirov@17: for (String s : new String[] {"design.txt", "src/com/tmate/hgkit/ll/Changelog.java", "src/Extras.java", "bin/com/tmate/hgkit/ll/Changelog.class"} ) { tikhomirov@17: System.out.println("Ignored " + s + ": " + ignore.isIgnored(s)); tikhomirov@17: } tikhomirov@17: DigestHelper dh = new DigestHelper(); tikhomirov@5: for (String fname : cmdLineOpts.files) { tikhomirov@5: System.out.println(fname); tikhomirov@5: HgDataFile fn = hgRepo.getFileNode(fname); tikhomirov@5: if (fn.exists()) { tikhomirov@5: int total = fn.getRevisionCount(); tikhomirov@5: System.out.printf("Total revisions: %d\n", total); tikhomirov@5: for (int i = 0; i < total; i++) { tikhomirov@5: byte[] content = fn.content(i); tikhomirov@5: System.out.println("==========>"); tikhomirov@5: System.out.println(new String(content)); tikhomirov@17: int[] parentRevisions = new int[2]; tikhomirov@17: byte[] parent1 = new byte[20]; tikhomirov@17: byte[] parent2 = new byte[20]; tikhomirov@17: fn.parents(i, parentRevisions, parent1, parent2); tikhomirov@42: System.out.println(dh.sha1(parent1, parent2, content).asHexString()); tikhomirov@5: } tikhomirov@5: } else { tikhomirov@5: System.out.println(">>>Not found!"); tikhomirov@5: } tikhomirov@5: } tikhomirov@1: } tikhomirov@1: }