diff src/com/tmate/hgkit/console/Cat.java @ 17:571e1b2cc3f7

Query file for its parents. Demo of recently added ignore and digest support from within cat cmd
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Mon, 27 Dec 2010 01:43:08 +0100
parents fc265ddeab26
children 92c3d0920d58
line wrap: on
line diff
--- a/src/com/tmate/hgkit/console/Cat.java	Mon Dec 27 01:00:53 2010 +0100
+++ b/src/com/tmate/hgkit/console/Cat.java	Mon Dec 27 01:43:08 2010 +0100
@@ -1,11 +1,14 @@
-/**
+/*
  * Copyright (c) 2010 Artem Tikhomirov 
  */
 package com.tmate.hgkit.console;
 
 import com.tmate.hgkit.fs.RepositoryLookup;
+import com.tmate.hgkit.ll.DigestHelper;
 import com.tmate.hgkit.ll.HgDataFile;
+import com.tmate.hgkit.ll.HgIgnore;
 import com.tmate.hgkit.ll.HgRepository;
+import com.tmate.hgkit.ll.LocalHgRepo;
 
 /**
  * @author artem
@@ -21,6 +24,11 @@
 			System.err.printf("Can't find repository in: %s\n", hgRepo.getLocation());
 			return;
 		}
+		HgIgnore ignore = ((LocalHgRepo) hgRepo).loadIgnore();
+		for (String s : new String[] {"design.txt", "src/com/tmate/hgkit/ll/Changelog.java", "src/Extras.java", "bin/com/tmate/hgkit/ll/Changelog.class"} ) {
+			System.out.println("Ignored " + s + ": " + ignore.isIgnored(s));
+		}
+		DigestHelper dh = new DigestHelper();
 		for (String fname : cmdLineOpts.files) {
 			System.out.println(fname);
 			HgDataFile fn = hgRepo.getFileNode(fname);
@@ -31,6 +39,11 @@
 					byte[] content = fn.content(i);
 					System.out.println("==========>");
 					System.out.println(new String(content));
+					int[] parentRevisions = new int[2];
+					byte[] parent1 = new byte[20];
+					byte[] parent2 = new byte[20];
+					fn.parents(i, parentRevisions, parent1, parent2);
+					System.out.println(dh.sha1(parent1, parent2, content));
 				}
 			} else {
 				System.out.println(">>>Not found!");