+1
-1
appview/pages/templates/repo/compare/compare.html
+1
-1
appview/pages/templates/repo/compare/compare.html
+14
-10
appview/repo/compare.go
+14
-10
appview/repo/compare.go
···
116
116
}
117
117
118
118
// if user is navigating to one of
119
-
// /compare/{base}/{head}
120
119
// /compare/{base}...{head}
121
-
base := chi.URLParam(r, "base")
122
-
head := chi.URLParam(r, "head")
123
-
if base == "" && head == "" {
124
-
rest := chi.URLParam(r, "*") // master...feature/xyz
125
-
parts := strings.SplitN(rest, "...", 2)
126
-
if len(parts) == 2 {
127
-
base = parts[0]
128
-
head = parts[1]
129
-
}
120
+
// /compare/{base}/{head}
121
+
var base, head string
122
+
rest := chi.URLParam(r, "*")
123
+
124
+
var parts []string
125
+
if strings.Contains(rest, "...") {
126
+
parts = strings.SplitN(rest, "...", 2)
127
+
} else if strings.Contains(rest, "/") {
128
+
parts = strings.SplitN(rest, "/", 2)
129
+
}
130
+
131
+
if len(parts) == 2 {
132
+
base = parts[0]
133
+
head = parts[1]
130
134
}
131
135
132
136
base, _ = url.PathUnescape(base)