James Moger
2012-11-01 3dec957f01b1e6b0af31476361efbb5767d0303d
src/com/gitblit/utils/StringUtils.java
@@ -315,11 +315,16 @@
    * @return the relative path
    */
   public static String getRelativePath(String basePath, String fullPath) {
      String relativePath = fullPath.substring(basePath.length()).replace('\\', '/');
      if (relativePath.charAt(0) == '/') {
         relativePath = relativePath.substring(1);
      String bp = basePath.replace('\\', '/').toLowerCase();
      String fp = fullPath.replace('\\', '/').toLowerCase();
      if (fp.startsWith(bp)) {
         String relativePath = fullPath.substring(basePath.length()).replace('\\', '/');
         if (relativePath.charAt(0) == '/') {
            relativePath = relativePath.substring(1);
         }
         return relativePath;
      }
      return relativePath;
      return fullPath;
   }
   /**
@@ -422,6 +427,8 @@
   public static int compareRepositoryNames(String r1, String r2) {
      // sort root repositories first, alphabetically
      // then sort grouped repositories, alphabetically
      r1 = r1.toLowerCase();
      r2 = r2.toLowerCase();
      int s1 = r1.indexOf('/');
      int s2 = r2.indexOf('/');
      if (s1 == -1 && s2 == -1) {
@@ -687,4 +694,17 @@
      }
      return path;
   }
   /**
    * Variation of String.matches() which disregards case issues.
    *
    * @param regex
    * @param input
    * @return true if the pattern matches
    */
   public static boolean matchesIgnoreCase(String input, String regex) {
      Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
      Matcher m = p.matcher(input);
      return m.matches();
   }
}