diff --git a/cli/src/main/java/org/openjdk/skara/cli/GitCredentials.java b/cli/src/main/java/org/openjdk/skara/cli/GitCredentials.java index 96462e7e8..0d487ec8d 100644 --- a/cli/src/main/java/org/openjdk/skara/cli/GitCredentials.java +++ b/cli/src/main/java/org/openjdk/skara/cli/GitCredentials.java @@ -72,6 +72,9 @@ static GitCredentials fill(String host, String path, String username, String pas var gitStdin = p.getOutputStream(); String input = "host=" + host + "\n"; if (path != null) { + if (path.startsWith("/")) { + path = path.substring(1); + } input += "path=" + path + "\n"; } if (username != null) { diff --git a/cli/src/main/java/org/openjdk/skara/cli/GitFork.java b/cli/src/main/java/org/openjdk/skara/cli/GitFork.java index 931d72ff1..e1ca6cc6c 100644 --- a/cli/src/main/java/org/openjdk/skara/cli/GitFork.java +++ b/cli/src/main/java/org/openjdk/skara/cli/GitFork.java @@ -125,7 +125,7 @@ public static void main(String[] args) throws IOException { exit("Not a valid URI: " + uri); } final var hostName = uri.getHost(); - var path = uri.getPath().substring(1); // trim leading '/' + var path = uri.getPath(); final var protocol = uri.getScheme(); final var token = System.getenv("GIT_TOKEN"); final var username = arguments.contains("username") ? arguments.get("username").asString() : null; @@ -140,6 +140,7 @@ public static void main(String[] args) throws IOException { } var host = Host.from(uri, new PersonalAccessToken(credentials.username(), credentials.password())); + path = credentials.path(); if (path.endsWith(".git")) { path = path.substring(0, path.length() - 4); } diff --git a/cli/src/main/java/org/openjdk/skara/cli/GitPr.java b/cli/src/main/java/org/openjdk/skara/cli/GitPr.java index e95f092f3..442ae249e 100644 --- a/cli/src/main/java/org/openjdk/skara/cli/GitPr.java +++ b/cli/src/main/java/org/openjdk/skara/cli/GitPr.java @@ -283,7 +283,7 @@ public static void main(String[] args) throws IOException { var username = arguments.contains("username") ? arguments.get("username").asString() : null; var token = System.getenv("GIT_TOKEN"); var uri = toURI(remotePullPath); - var credentials = GitCredentials.fill(uri.getHost(), uri.getPath().substring(1), username, token, uri.getScheme()); + var credentials = GitCredentials.fill(uri.getHost(), uri.getPath(), username, token, uri.getScheme()); var host = Host.from(uri, new PersonalAccessToken(credentials.username(), credentials.password())); var action = arguments.at(0).asString(); diff --git a/cli/src/main/java/org/openjdk/skara/cli/GitToken.java b/cli/src/main/java/org/openjdk/skara/cli/GitToken.java index 4d7cdacfe..13976c931 100644 --- a/cli/src/main/java/org/openjdk/skara/cli/GitToken.java +++ b/cli/src/main/java/org/openjdk/skara/cli/GitToken.java @@ -78,10 +78,10 @@ public static void main(String[] args) throws IOException { var uri = arguments.at(1).via(URI::create); if (command.equals("store")) { - var credentials = GitCredentials.fill(uri.getHost(), uri.getPath().substring(1), null, null, uri.getScheme()); + var credentials = GitCredentials.fill(uri.getHost(), uri.getPath(), null, null, uri.getScheme()); GitCredentials.approve(credentials); } else if (command.equals("revoke")) { - var credentials = GitCredentials.fill(uri.getHost(), uri.getPath().substring(1), null, null, uri.getScheme()); + var credentials = GitCredentials.fill(uri.getHost(), uri.getPath(), null, null, uri.getScheme()); GitCredentials.reject(credentials); } else { exit("error: unknown command: " + command);