From 73bd48de977bea1c8cd8bb3d995b984b874d4eba Mon Sep 17 00:00:00 2001 From: Zeger-Jan van de Weg Date: Tue, 30 Jan 2018 10:56:24 +0100 Subject: [PATCH] Fix encoding issues when name is not UTF-8 --- lib/gitlab/gitaly_client/ref_service.rb | 10 ++++++++-- 1 file 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