Subject: [JGIT PATCH 1/1] Fix for Repository.stripWorkDir when using partial paths

From: "Adam W. Hawks" <[email-masked]>
Date: Tue, 11 Aug 2009 20:48:39 -0400

>>From ef993e633cdcb1dddda5e71db1b62306df7ce83f Mon Sep 17 00:00:00 2001
Date: Tue, 11 Aug 2009 20:02:56 -0400

When you call stripWorkDir with a relative path
you can get a string out of bounds error.

This change fixes that problem by using the absolute paths
of the file instead of its relative name.

Signed-off-by: Adam W. Hawks <[email-masked]>
---
 .../src/org/spearce/jgit/lib/Repository.java       |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java b/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java
index 468cf4c..a68817b 100644
--- a/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java
+++ b/org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java
@@ -1036,7 +1036,7 @@ public static boolean isValidRefName(final String refName) {
 	 * @return normalized repository relative path
 	 */
 	public static String stripWorkDir(File wd, File f) {
-		String relName = f.getPath().substring(wd.getPath().length() + 1);
+		String relName = f.getAbsolutePath().substring(wd.getPath().length() + 1);
 		relName = relName.replace(File.separatorChar, '/');
 		return relName;
 	}
-- 
1.6.0.2