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
path: root/ruby
diff options
context:
space:
mode:
authorAhmad Sherif <me@ahmadsherif.com>2021-11-02 16:24:39 +0300
committerAhmad Sherif <me@ahmadsherif.com>2021-11-02 19:51:28 +0300
commit989ca13e053371bad530f817c57224c136ddb175 (patch)
treebba64196437a40bf4b879bdc66fd1925e1b4594f /ruby
parent3b4c8b2211b024b86e3de99f38350ffd1f907417 (diff)
Return a proper response on WikiUpdatePage failing on DuplicatePageError
Fixes https://gitlab.com/gitlab-org/gitaly/-/issues/3884 Changelog: fixed
Diffstat (limited to 'ruby')
-rw-r--r--ruby/lib/gitaly_server/wiki_service.rb2
-rw-r--r--ruby/lib/gitlab/git/wiki.rb2
2 files changed, 4 insertions, 0 deletions
diff --git a/ruby/lib/gitaly_server/wiki_service.rb b/ruby/lib/gitaly_server/wiki_service.rb
index 7c586e93f..1df1cba28 100644
--- a/ruby/lib/gitaly_server/wiki_service.rb
+++ b/ruby/lib/gitaly_server/wiki_service.rb
@@ -107,6 +107,8 @@ module GitalyServer
wiki.update_page(page_path, title, format.to_sym, content, commit_details)
Gitaly::WikiUpdatePageResponse.new
+ rescue Gitlab::Git::Wiki::DuplicatePageError => e
+ Gitaly::WikiUpdatePageResponse.new(error: e.message.b)
end
private
diff --git a/ruby/lib/gitlab/git/wiki.rb b/ruby/lib/gitlab/git/wiki.rb
index 506b4489f..b7779b6c0 100644
--- a/ruby/lib/gitlab/git/wiki.rb
+++ b/ruby/lib/gitlab/git/wiki.rb
@@ -152,6 +152,8 @@ module Gitlab
gollum_wiki.update_page(page, page.name, format, content, committer: committer)
gollum_wiki.rename_page(page, title, committer: committer)
end
+ rescue Gollum::DuplicatePageError => e
+ raise Gitlab::Git::Wiki::DuplicatePageError, e.message
end
def gollum_find_page(title:, version: nil, dir: nil)