diff options
author | Zeger-Jan van de Weg <git@zjvandeweg.nl> | 2018-01-30 10:56:24 +0100 |
---|---|---|
committer | Zeger-Jan van de Weg <git@zjvandeweg.nl> | 2018-02-01 13:00:37 +0100 |
commit | 73bd48de977bea1c8cd8bb3d995b984b874d4eba (patch) | |
tree | 050d18d577d8b83174c363bbd5e2a027f4b77a33 | |
parent | 0a47d1924d6b283a174672f33cf7a0de6b281fef (diff) | |
download | gitlab-ce-73bd48de977bea1c8cd8bb3d995b984b874d4eba.tar.gz |
Fix encoding issues when name is not UTF-8
-rw-r--r-- | lib/gitlab/gitaly_client/ref_service.rb | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/gitlab/gitaly_client/ref_service.rb b/lib/gitlab/gitaly_client/ref_service.rb index 07122da4c2c..22fee1ff07f 100644 --- a/lib/gitlab/gitaly_client/ref_service.rb +++ b/lib/gitlab/gitaly_client/ref_service.rb @@ -155,7 +155,10 @@ module Gitlab stream = GitalyClient.call(@repository.storage, :ref_service, :list_tag_names_containing_commit, request) - stream.each_with_object([]) { |response, array| array.concat(response.tag_names) } + stream.each_with_object([]) do |response, array| + encoded_names = response.tag_names.map { |t| Gitlab::Git.ref_name(t) } + array.concat(encoded_names) + end end # Limit: 0 implies no limit, thus all tag names will be returned @@ -168,7 +171,10 @@ module Gitlab stream = GitalyClient.call(@repository.storage, :ref_service, :list_branch_names_containing_commit, request) - stream.each_with_object([]) { |response, array| array.concat(response.branch_names) } + stream.each_with_object([]) do |response, array| + encoded_names = response.branch_names.map { |b| Gitlab::Git.ref_name(b) } + array.concat(encoded_names) + end end private |