Mercurial > jhg
diff src/com/tmate/hgkit/console/Cat.java @ 5:fc265ddeab26
File content and non-effective, although working, patch application
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Tue, 21 Dec 2010 05:11:06 +0100 |
parents | 24bb4f365164 |
children | 571e1b2cc3f7 |
line wrap: on
line diff
--- a/src/com/tmate/hgkit/console/Cat.java Mon Dec 20 04:20:52 2010 +0100 +++ b/src/com/tmate/hgkit/console/Cat.java Tue Dec 21 05:11:06 2010 +0100 @@ -4,6 +4,7 @@ package com.tmate.hgkit.console; import com.tmate.hgkit.fs.RepositoryLookup; +import com.tmate.hgkit.ll.HgDataFile; import com.tmate.hgkit.ll.HgRepository; /** @@ -14,12 +15,26 @@ public static void main(String[] args) throws Exception { RepositoryLookup repoLookup = new RepositoryLookup(); - HgRepository hgRepo = repoLookup.detect(args); + RepositoryLookup.Options cmdLineOpts = RepositoryLookup.Options.parse(args); + HgRepository hgRepo = repoLookup.detect(cmdLineOpts); if (hgRepo.isInvalid()) { System.err.printf("Can't find repository in: %s\n", hgRepo.getLocation()); return; } - byte[] tipContent = hgRepo.getFileNode("hello.c").content(); - System.out.println(new String(tipContent)); + for (String fname : cmdLineOpts.files) { + System.out.println(fname); + HgDataFile fn = hgRepo.getFileNode(fname); + if (fn.exists()) { + int total = fn.getRevisionCount(); + System.out.printf("Total revisions: %d\n", total); + for (int i = 0; i < total; i++) { + byte[] content = fn.content(i); + System.out.println("==========>"); + System.out.println(new String(content)); + } + } else { + System.out.println(">>>Not found!"); + } + } } }