Skip to content

Commit 7825027

Browse files
authored
Fix Azure URL generation (#345)
* Fix Azure URL generation * Add remote test
1 parent 2a9741f commit 7825027

File tree

6 files changed

+23
-15
lines changed

6 files changed

+23
-15
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
# GitLink Changelog
44

55
## Unreleased
6+
- Fix Azure URL generation
67

78
## 4.5.1 - 2024-09-03
89

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
pluginGroup = uk.co.ben_gibson.git.link
55
pluginName = GitLink
66
# SemVer format -> https://semver.org
7-
pluginVersion = 4.5.1
7+
pluginVersion = 4.5.2
88

99
# See https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html
1010
# for insight into build numbers and IntelliJ Platform versions.

src/main/kotlin/uk/co/ben_gibson/git/link/git/RemoteExtensions.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,11 @@ val GitRemote.httpUrl : URL? get() {
1616
var url = firstUrl ?: return null
1717

1818
url = url.trim()
19-
.removeSuffix(".git")
19+
20+
// Azure supports a .git suffix on the repo name, so don't remove it.
21+
if (!url.contains("dev.azure")) {
22+
url = url.removeSuffix(".git")
23+
}
2024

2125
// Do not try to remove the port if the URL uses the SSH protocol in the SCP syntax e.g.
2226
// '[email protected]:foo.git' as it does not support port definitions. Attempting to remove the port

src/main/kotlin/uk/co/ben_gibson/git/link/url/factory/AzureUrlFactory.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ class AzureUrlFactory: UrlFactory {
7474
val basePathParts = baseUrl.path
7575
.toString()
7676
.removePrefix("v3/")
77-
.plus(".git") // Azure expects .git after the repo name
7877
.split("/")
7978
.toMutableList()
8079

src/test/kotlin/uk/co/ben_gibson/git/link/git/RemoteTest.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,11 @@ class RemoteTest {
4444
Arguments.of(
4545
"xy://custom.gitlab.url/group/project.git",
4646
"http://custom.gitlab.url/group/project"
47-
)
47+
),
48+
Arguments.of(
49+
"http://[email protected]/ben-gibson/test/_git/test.git",
50+
"http://dev.azure.com/ben-gibson/test/_git/test.git"
51+
),
4852
)
4953
}
5054

src/test/kotlin/uk/co/ben_gibson/git/link/url/AzureTest.kt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,17 @@ class AzureTest {
2828
Arguments.of(
2929
REMOTE_BASE_URL_WITH_GIT,
3030
UrlOptions.UrlOptionsFileAtBranch(FILE, BRANCH, LINE_SELECTION),
31-
"https://dev.azure.com/ben-gibson/_git/test.git?version=GBmaster&path=src%2FFoo.java&line=10&lineEnd=21&lineStartColumn=1&lineEndColumn=1"
31+
"https://dev.azure.com/ben-gibson/_git/test?version=GBmaster&path=src%2FFoo.java&line=10&lineEnd=21&lineStartColumn=1&lineEndColumn=1"
3232
),
3333
Arguments.of(
3434
REMOTE_BASE_URL_WITH_GIT,
3535
UrlOptions.UrlOptionsFileAtBranch(FILE, BRANCH),
36-
"https://dev.azure.com/ben-gibson/_git/test.git?version=GBmaster&path=src%2FFoo.java"
36+
"https://dev.azure.com/ben-gibson/_git/test?version=GBmaster&path=src%2FFoo.java"
3737
),
3838
Arguments.of(
3939
REMOTE_BASE_URL_WITH_GIT,
4040
UrlOptions.UrlOptionsFileAtCommit(FILE, "main", COMMIT, LINE_SELECTION),
41-
"https://dev.azure.com/ben-gibson/_git/test.git?version=GCb032a0707beac9a2f24b1b7d97ee4f7156de182c&path=src%2FFoo.java&line=10&lineEnd=21&lineStartColumn=1&lineEndColumn=1"
41+
"https://dev.azure.com/ben-gibson/_git/test?version=GCb032a0707beac9a2f24b1b7d97ee4f7156de182c&path=src%2FFoo.java&line=10&lineEnd=21&lineStartColumn=1&lineEndColumn=1"
4242
),
4343
Arguments.of(
4444
REMOTE_BASE_URL_WITH_GIT,
@@ -47,7 +47,7 @@ class AzureTest {
4747
"main",
4848
COMMIT
4949
),
50-
"https://dev.azure.com/ben-gibson/_git/test.git?version=GCb032a0707beac9a2f24b1b7d97ee4f7156de182c&path=src%2Ffoo%2Fresources"
50+
"https://dev.azure.com/ben-gibson/_git/test?version=GCb032a0707beac9a2f24b1b7d97ee4f7156de182c&path=src%2Ffoo%2Fresources"
5151
),
5252
Arguments.of(
5353
REMOTE_BASE_URL_WITH_GIT,
@@ -56,36 +56,36 @@ class AzureTest {
5656
"main",
5757
COMMIT
5858
),
59-
"https://dev.azure.com/ben-gibson/_git/test.git?version=GCb032a0707beac9a2f24b1b7d97ee4f7156de182c&path=%2F"),
59+
"https://dev.azure.com/ben-gibson/_git/test?version=GCb032a0707beac9a2f24b1b7d97ee4f7156de182c&path=%2F"),
6060
Arguments.of(
6161
REMOTE_BASE_URL_WITH_GIT,
6262
UrlOptions.UrlOptionsFileAtCommit(FILE, "main", COMMIT),
63-
"https://dev.azure.com/ben-gibson/_git/test.git?version=GCb032a0707beac9a2f24b1b7d97ee4f7156de182c&path=src%2FFoo.java"
63+
"https://dev.azure.com/ben-gibson/_git/test?version=GCb032a0707beac9a2f24b1b7d97ee4f7156de182c&path=src%2FFoo.java"
6464
),
6565
Arguments.of(
6666
REMOTE_BASE_URL_WITH_GIT,
6767
UrlOptions.UrlOptionsCommit(COMMIT, "main"),
68-
"https://dev.azure.com/ben-gibson/_git/test.git/commit/b032a0707beac9a2f24b1b7d97ee4f7156de182c"
68+
"https://dev.azure.com/ben-gibson/_git/test/commit/b032a0707beac9a2f24b1b7d97ee4f7156de182c"
6969
),
7070
Arguments.of(
7171
REMOTE_BASE_URL_WITHOUT_GIT,
7272
UrlOptions.UrlOptionsCommit(COMMIT, "main"),
73-
"https://dev.azure.com/ben-gibson/_git/test.git/commit/b032a0707beac9a2f24b1b7d97ee4f7156de182c"
73+
"https://dev.azure.com/ben-gibson/_git/test/commit/b032a0707beac9a2f24b1b7d97ee4f7156de182c"
7474
),
7575
Arguments.of(
7676
REMOTE_BASE_URL_WITH_COMPANY_AND_GIT,
7777
UrlOptions.UrlOptionsCommit(COMMIT, "main"),
78-
"https://dev.azure.com/company/project/_git/test.git/commit/b032a0707beac9a2f24b1b7d97ee4f7156de182c"
78+
"https://dev.azure.com/company/project/_git/test/commit/b032a0707beac9a2f24b1b7d97ee4f7156de182c"
7979
),
8080
Arguments.of(
8181
REMOTE_BASE_URL_WITH_COMPANY_WITHOUT_GIT,
8282
UrlOptions.UrlOptionsCommit(COMMIT, "main"),
83-
"https://dev.azure.com/company/project/_git/test.git/commit/b032a0707beac9a2f24b1b7d97ee4f7156de182c"
83+
"https://dev.azure.com/company/project/_git/test/commit/b032a0707beac9a2f24b1b7d97ee4f7156de182c"
8484
),
8585
Arguments.of(
8686
URL.fromString("https://ssh.dev.azure.com/v3/ben-gibson/test/test"),
8787
UrlOptions.UrlOptionsCommit(COMMIT, "main"),
88-
"https://dev.azure.com/ben-gibson/test/_git/test.git/commit/b032a0707beac9a2f24b1b7d97ee4f7156de182c"
88+
"https://dev.azure.com/ben-gibson/test/_git/test/commit/b032a0707beac9a2f24b1b7d97ee4f7156de182c"
8989
)
9090
)
9191
}

0 commit comments

Comments
 (0)