changeset 727:e13f499adb6e

normalize URL in constructor
author eugene.petrenko@jetbrains.com
date Mon, 13 Jan 2014 20:29:08 +0100
parents 2ab33390b801
children 501cb1911d4b
files mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/SubRepo.java
diffstat 1 files changed, 12 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/SubRepo.java	Mon Jan 13 20:17:22 2014 +0100
+++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/SubRepo.java	Mon Jan 13 20:29:08 2014 +0100
@@ -16,9 +16,18 @@
 
   public SubRepo(@NotNull String path, @NotNull String url, @NotNull String revision) {
     myPath = path;
-    myUrl = url;
     myRevision = revision;
-    myVcsType = parseVcsType();
+
+    if (url.startsWith("[svn]")) {
+      myVcsType = VcsType.svn;
+      myUrl = url.substring(5);
+    } else if (url.startsWith("[git]")) {
+      myVcsType = VcsType.git;
+      myUrl = url.substring(5);
+    } else {
+      myVcsType = VcsType.hg;
+      myUrl = url;
+    }
   }
 
   @NotNull
@@ -45,6 +54,7 @@
     return !myUrl.equals(other.url());
   }
 
+  @NotNull
   public String resolveUrl(@NotNull String parentRepoUrl) throws URISyntaxException {
     if (!parentRepoUrl.endsWith("/"))
       parentRepoUrl = parentRepoUrl + "/";
@@ -85,14 +95,6 @@
     return myPath + " = " + myUrl + "#" + myRevision;
   }
 
-  private VcsType parseVcsType() {
-    if (myUrl.startsWith("[svn]"))
-      return VcsType.svn;
-    if (myUrl.startsWith("[git]"))
-      return VcsType.git;
-    return VcsType.hg;
-  }
-
   public static enum VcsType {
     hg(Constants.VCS_NAME), git("jetbrains.git"), svn("svn")
     ;