diff --git a/appview/repo/compare.go b/appview/repo/compare.go index 9f8bf4f5..33406edb 100644 --- a/appview/repo/compare.go +++ b/appview/repo/compare.go @@ -2,7 +2,6 @@ package repo import ( "encoding/json" - "fmt" "net/http" "net/url" "strings" @@ -132,20 +131,11 @@ func (rp *Repo) Compare(w http.ResponseWriter, r *http.Request) { return } - scheme := "http" - if !rp.config.Core.Dev { - scheme = "https" - } - host := fmt.Sprintf("%s://%s", scheme, f.Knot) - xrpcc := &indigoxrpc.Client{ - Host: host, - } - - repoId := f.RepoIdentifier() + xrpcc := &indigoxrpc.Client{Host: rp.config.KnotMirror.Url} - branchBytes, err := tangled.RepoBranches(r.Context(), xrpcc, "", 0, repoId) + branchBytes, err := tangled.GitTempListBranches(r.Context(), xrpcc, "", 0, f.RepoAt().String()) if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { - l.Error("failed to call XRPC repo.branches", "xrpcerr", xrpcerr, "err", err) + l.Error("failed to call XRPC git.listBranches", "xrpcerr", xrpcerr, "err", err) rp.pages.Error503(w) return } @@ -157,9 +147,9 @@ func (rp *Repo) Compare(w http.ResponseWriter, r *http.Request) { return } - tagBytes, err := tangled.RepoTags(r.Context(), xrpcc, "", 0, repoId) + tagBytes, err := tangled.GitTempListTags(r.Context(), xrpcc, "", 0, f.RepoAt().String()) if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { - l.Error("failed to call XRPC repo.tags", "xrpcerr", xrpcerr, "err", err) + l.Error("failed to call XRPC git.listTags", "xrpcerr", xrpcerr, "err", err) rp.pages.Error503(w) return } @@ -171,26 +161,14 @@ func (rp *Repo) Compare(w http.ResponseWriter, r *http.Request) { return } - compareBytes, err := tangled.RepoCompare(r.Context(), xrpcc, repoId, base, head) + compareOut, err := tangled.GitTempCompareRevs(r.Context(), xrpcc, f.RepoAt().String(), base, head) if xrpcerr := xrpcclient.HandleXrpcErr(err); xrpcerr != nil { - l.Error("failed to call XRPC repo.compare", "xrpcerr", xrpcerr, "err", err) + l.Error("failed to call XRPC git.compareRevs", "xrpcerr", xrpcerr, "err", err) rp.pages.Error503(w) return } - var formatPatch types.RepoFormatPatchResponse - if err := json.Unmarshal(compareBytes, &formatPatch); err != nil { - l.Error("failed to decode XRPC compare response", "err", err) - rp.pages.Notice(w, "compare-error", "Failed to produce comparison. Try again later.") - return - } - - var diff types.NiceDiff - if formatPatch.CombinedPatchRaw != "" { - diff = patchutil.AsNiceDiff(formatPatch.CombinedPatchRaw, base) - } else { - diff = patchutil.AsNiceDiff(formatPatch.FormatPatchRaw, base) - } + diff := patchutil.AsNiceDiff(compareOut.Patch, base) rp.pages.RepoCompare(w, pages.RepoCompareParams{ LoggedInUser: user,