From d0e00c2879ddad6f7238b52f9720475d4068d759 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Wed, 5 Mar 2025 10:34:24 +0800 Subject: repo/contrib/one: Diff against merge base --- http_handle_repo_contrib_one.go | 10 +++++++++- templates/repo_contrib_one.tmpl | 8 ++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/http_handle_repo_contrib_one.go b/http_handle_repo_contrib_one.go index 9810d5d..7ed0d6f 100644 --- a/http_handle_repo_contrib_one.go +++ b/http_handle_repo_contrib_one.go @@ -68,7 +68,15 @@ func handle_repo_contrib_one(w http.ResponseWriter, r *http.Request, params map[ } params["destination_commit"] = destination_commit - patch, err := destination_commit.Patch(source_commit) + merge_bases, err := source_commit.MergeBase(destination_commit) + if err != nil { + http.Error(w, "Error getting merge base: "+err.Error(), http.StatusInternalServerError) + return + } + merge_base := merge_bases[0] + params["merge_base"] = merge_base + + patch, err := merge_base.Patch(source_commit) if err != nil { http.Error(w, "Error getting patch: "+err.Error(), http.StatusInternalServerError) return diff --git a/templates/repo_contrib_one.tmpl b/templates/repo_contrib_one.tmpl index dca8a8f..1083e8c 100644 --- a/templates/repo_contrib_one.tmpl +++ b/templates/repo_contrib_one.tmpl @@ -39,11 +39,15 @@ Destination branch {{ .mr_destination_branch }} + + Merge base + {{ .merge_base.ID.String }} +
- {{ $destination_commit := .destination_commit }} + {{ $merge_base := .merge_base }} {{ $source_commit := .source_commit }} {{ range .file_patches }}
@@ -53,7 +57,7 @@ {{ if eq .From.Path "" }} --- /dev/null {{ else }} - --- a/{{ .From.Path }} {{ .From.Mode }} + --- a/{{ .From.Path }} {{ .From.Mode }} {{ end }}
{{ if eq .To.Path "" }} -- cgit v1.2.3