From ddec289815d4bd0e77d07b965b05b6a639f2c80d Mon Sep 17 00:00:00 2001 From: Guillaume Sauthier <guillaume.sauthier@peergreen.com> Date: Mon, 05 Nov 2012 12:13:32 -0500 Subject: [PATCH] Fixes and reuse Bootstrap CSS in HTML sendmail (pull request #52) --- src/com/gitblit/utils/FileUtils.java | 16 +++++++++++++++- 1 files changed, 15 insertions(+), 1 deletions(-) diff --git a/src/com/gitblit/utils/FileUtils.java b/src/com/gitblit/utils/FileUtils.java index a14928f..cba88d0 100644 --- a/src/com/gitblit/utils/FileUtils.java +++ b/src/com/gitblit/utils/FileUtils.java @@ -226,7 +226,21 @@ public static String getRelativePath(File basePath, File path) { File exactBase = getExactFile(basePath); File exactPath = getExactFile(path); - return StringUtils.getRelativePath(exactBase.getPath(), exactPath.getPath()); + if (path.getAbsolutePath().startsWith(basePath.getAbsolutePath())) { + // absolute base-path match + return StringUtils.getRelativePath(basePath.getAbsolutePath(), path.getAbsolutePath()); + } else if (exactPath.getPath().startsWith(exactBase.getPath())) { + // canonical base-path match + return StringUtils.getRelativePath(exactBase.getPath(), exactPath.getPath()); + } else if (exactPath.getPath().startsWith(basePath.getAbsolutePath())) { + // mixed path match + return StringUtils.getRelativePath(basePath.getAbsolutePath(), exactPath.getPath()); + } else if (path.getAbsolutePath().startsWith(exactBase.getPath())) { + // mixed path match + return StringUtils.getRelativePath(exactBase.getPath(), path.getAbsolutePath()); + } + // no relative relationship + return null; } /** -- Gitblit v1.9.1