Signed-off-by: Seongmin Lee git@boltless.me
+8
-30
Diff
round #0
+8
-30
appview/repo/compare.go
+8
-30
appview/repo/compare.go
···
2
2
3
3
import (
4
4
"encoding/json"
5
-
"fmt"
6
5
"net/http"
7
6
"net/url"
8
7
"strings"
···
132
131
return
133
132
}
134
133
135
-
scheme := "http"
136
-
if !rp.config.Core.Dev {
137
-
scheme = "https"
138
-
}
139
-
host := fmt.Sprintf("%s://%s", scheme, f.Knot)
140
-
xrpcc := &indigoxrpc.Client{
141
-
Host: host,
142
-
}
143
-
144
-
repoId := f.RepoIdentifier()
134
+
xrpcc := &indigoxrpc.Client{Host: rp.config.KnotMirror.Url}
145
135
146
-
branchBytes, err := tangled.RepoBranches(r.Context(), xrpcc, "", 0, repoId)
136
+
branchBytes, err := tangled.GitTempListBranches(r.Context(), xrpcc, "", 0, f.RepoAt().String())
147
137
if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil {
148
-
l.Error("failed to call XRPC repo.branches", "xrpcerr", xrpcerr, "err", err)
138
+
l.Error("failed to call XRPC git.listBranches", "xrpcerr", xrpcerr, "err", err)
149
139
rp.pages.Error503(w)
150
140
return
151
141
}
···
157
147
return
158
148
}
159
149
160
-
tagBytes, err := tangled.RepoTags(r.Context(), xrpcc, "", 0, repoId)
150
+
tagBytes, err := tangled.GitTempListTags(r.Context(), xrpcc, "", 0, f.RepoAt().String())
161
151
if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil {
162
-
l.Error("failed to call XRPC repo.tags", "xrpcerr", xrpcerr, "err", err)
152
+
l.Error("failed to call XRPC git.listTags", "xrpcerr", xrpcerr, "err", err)
163
153
rp.pages.Error503(w)
164
154
return
165
155
}
···
171
161
return
172
162
}
173
163
174
-
compareBytes, err := tangled.RepoCompare(r.Context(), xrpcc, repoId, base, head)
164
+
compareOut, err := tangled.GitTempCompareRevs(r.Context(), xrpcc, f.RepoAt().String(), base, head)
175
165
if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil {
176
-
l.Error("failed to call XRPC repo.compare", "xrpcerr", xrpcerr, "err", err)
166
+
l.Error("failed to call XRPC git.compareRevs", "xrpcerr", xrpcerr, "err", err)
177
167
rp.pages.Error503(w)
178
168
return
179
169
}
180
170
181
-
var formatPatch types.RepoFormatPatchResponse
182
-
if err := json.Unmarshal(compareBytes, &formatPatch); err != nil {
183
-
l.Error("failed to decode XRPC compare response", "err", err)
184
-
rp.pages.Notice(w, "compare-error", "Failed to produce comparison. Try again later.")
185
-
return
186
-
}
187
-
188
-
var diff types.NiceDiff
189
-
if formatPatch.CombinedPatchRaw != "" {
190
-
diff = patchutil.AsNiceDiff(formatPatch.CombinedPatchRaw, base)
191
-
} else {
192
-
diff = patchutil.AsNiceDiff(formatPatch.FormatPatchRaw, base)
193
-
}
171
+
diff := patchutil.AsNiceDiff(compareOut.Patch, base)
194
172
195
173
rp.pages.RepoCompare(w, pages.RepoCompareParams{
196
174
LoggedInUser: user,
History
1 round
0 comments
boltless.me
submitted
#0
1 commit
expand
collapse
appview/repo: prefer knotmirror in
/{repo}/compare/*
Signed-off-by: Seongmin Lee <git@boltless.me>
merge conflicts detected
expand
collapse
expand
collapse
- knotmirror/config/config.go:11
- knotmirror/knotmirror.go:9
- knotmirror/xrpc/xrpc.go:10
- nix/vm.nix:148