diff --git a/changelogs/unreleased/pks-go-user-merge-branch-reversed-parents.yml b/changelogs/unreleased/pks-go-user-merge-branch-reversed-parents.yml new file mode 100644 index 0000000000000000000000000000000000000000..6a59a8ee94798c7cc659229f847e6aa145e73ee0 --- /dev/null +++ b/changelogs/unreleased/pks-go-user-merge-branch-reversed-parents.yml @@ -0,0 +1,5 @@ +--- +title: 'operations: Fix wrong ordering of merge parents for UserMergeBranch' +merge_request: 2868 +author: +type: fixed diff --git a/internal/gitaly/service/operations/merge.go b/internal/gitaly/service/operations/merge.go index 64c6ad2764430feaadd5ef31b49789b64b24bd36..93fd778294770c3ccc5dfdeee42a50b71c557361 100644 --- a/internal/gitaly/service/operations/merge.go +++ b/internal/gitaly/service/operations/merge.go @@ -123,8 +123,8 @@ func (s *Server) userMergeBranch(stream gitalypb.OperationService_UserMergeBranc AuthorName: string(firstRequest.User.Name), AuthorMail: string(firstRequest.User.Email), Message: string(firstRequest.Message), - Ours: firstRequest.CommitId, - Theirs: revision, + Ours: revision, + Theirs: firstRequest.CommitId, }.Run(ctx, s.cfg) if err != nil { if errors.Is(err, git2go.ErrInvalidArgument) { diff --git a/internal/gitaly/service/operations/merge_test.go b/internal/gitaly/service/operations/merge_test.go index e1e0a7759208bc679c1ec0844df6995b0530ed99..c9b467fb11517ff8f4173056a504e5e5b73b6872 100644 --- a/internal/gitaly/service/operations/merge_test.go +++ b/internal/gitaly/service/operations/merge_test.go @@ -104,8 +104,7 @@ func testSuccessfulMerge(t *testing.T, ctx context.Context) { require.Equal(t, gitalypb.OperationBranchUpdate{CommitId: commit.Id}, *(secondResponse.BranchUpdate)) - require.Contains(t, commit.ParentIds, mergeBranchHeadBefore, "merge parents must include previous HEAD of branch") - require.Contains(t, commit.ParentIds, commitToMerge, "merge parents must include commit to merge") + require.Equal(t, commit.ParentIds, []string{mergeBranchHeadBefore, commitToMerge}) require.True(t, strings.HasPrefix(string(commit.Body), mergeCommitMessage), "expected %q to start with %q", commit.Body, mergeCommitMessage)