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!");
+			}
+		}
 	}
 }