Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Okstad <pokstad@gitlab.com>2020-11-03 21:28:51 +0300
committerPaul Okstad <pokstad@gitlab.com>2020-11-03 21:28:51 +0300
commit5783f980c3c83022dd5a0173186fba4158948062 (patch)
treed8daa93d261547818c7e4f96ebcfa9d8356948c1
parent940a45ca938b20031820a4976f936a5b6173de92 (diff)
parent9d1e847ab180e1c31ded0aeff34d14bea50c52af (diff)
Merge branch 'pks-git2go-merge-precondition-failed' into 'master'
operations: Return correct error code when merge fails See merge request gitlab-org/gitaly!2690
-rw-r--r--changelogs/unreleased/pks-git2go-merge-precondition-failed.yml5
-rw-r--r--internal/gitaly/service/operations/merge.go2
-rw-r--r--internal/gitaly/service/operations/merge_test.go1
3 files changed, 7 insertions, 1 deletions
diff --git a/changelogs/unreleased/pks-git2go-merge-precondition-failed.yml b/changelogs/unreleased/pks-git2go-merge-precondition-failed.yml
new file mode 100644
index 000000000..7e23eeb2c
--- /dev/null
+++ b/changelogs/unreleased/pks-git2go-merge-precondition-failed.yml
@@ -0,0 +1,5 @@
+---
+title: 'operations: Return correct error code when merge fails'
+merge_request: 2690
+author:
+type: fixed
diff --git a/internal/gitaly/service/operations/merge.go b/internal/gitaly/service/operations/merge.go
index f186a33e9..6d2f2b3e5 100644
--- a/internal/gitaly/service/operations/merge.go
+++ b/internal/gitaly/service/operations/merge.go
@@ -437,7 +437,7 @@ func (s *server) userMergeToRef(ctx context.Context, request *gitalypb.UserMerge
return nil, helper.ErrInvalidArgument(err)
}
//nolint:stylecheck
- return nil, fmt.Errorf("Failed to create merge commit for source_sha %s and target_sha %s at %s", sourceRef, string(request.TargetRef), refName)
+ return nil, helper.ErrPreconditionFailed(fmt.Errorf("Failed to create merge commit for source_sha %s and target_sha %s at %s", sourceRef, string(request.TargetRef), refName))
}
// ... and move branch from target ref to the merge commit. The Ruby
diff --git a/internal/gitaly/service/operations/merge_test.go b/internal/gitaly/service/operations/merge_test.go
index d165c6f27..19d9b6c04 100644
--- a/internal/gitaly/service/operations/merge_test.go
+++ b/internal/gitaly/service/operations/merge_test.go
@@ -681,6 +681,7 @@ func testConflictsOnUserMergeToRefRequest(t *testing.T, ctx context.Context) {
_, err := client.UserMergeToRef(ctx, request)
require.Error(t, err)
+ testhelper.RequireGrpcError(t, err, codes.FailedPrecondition)
})
}