diff options
author | Robert Speicher <robert@gitlab.com> | 2017-09-20 00:32:58 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2017-09-20 00:32:58 +0000 |
commit | 8aac719fd6e2f205ec5c4c29590fb0e4944b7e43 (patch) | |
tree | 6991a54c5f197bd87c8c537535d38b559a25175a | |
parent | d15109dc5e6185b512785611cd3d146010e1eacc (diff) | |
parent | 28d95e10a40cd07b4f81148e10bbba73bcf3e69d (diff) | |
download | gitlab-ce-8aac719fd6e2f205ec5c4c29590fb0e4944b7e43.tar.gz |
Merge branch 'fix/gitaly-commit-diff-rpc-encoding-error' into 'master'
Encode paths properly for Gitaly Commit{Diff,Delta}
Closes gitaly#589
See merge request gitlab-org/gitlab-ce!14361
-rw-r--r-- | lib/gitlab/gitaly_client/commit_service.rb | 2 | ||||
-rw-r--r-- | spec/lib/gitlab/gitaly_client/commit_service_spec.rb | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/gitlab/gitaly_client/commit_service.rb b/lib/gitlab/gitaly_client/commit_service.rb index 1ba1a7830a4..b536eb1868c 100644 --- a/lib/gitlab/gitaly_client/commit_service.rb +++ b/lib/gitlab/gitaly_client/commit_service.rb @@ -221,7 +221,7 @@ module Gitlab repository: @gitaly_repo, left_commit_id: parent_id, right_commit_id: commit.id, - paths: options.fetch(:paths, []) + paths: options.fetch(:paths, []).map { |path| GitalyClient.encode(path) } } end diff --git a/spec/lib/gitlab/gitaly_client/commit_service_spec.rb b/spec/lib/gitlab/gitaly_client/commit_service_spec.rb index ec3abcb0953..1ef3e2e3a5d 100644 --- a/spec/lib/gitlab/gitaly_client/commit_service_spec.rb +++ b/spec/lib/gitlab/gitaly_client/commit_service_spec.rb @@ -51,6 +51,10 @@ describe Gitlab::GitalyClient::CommitService do expect(ret).to be_kind_of(Gitlab::GitalyClient::DiffStitcher) end + + it 'encodes paths correctly' do + expect { client.diff_from_parent(commit, paths: ['encoding/test.txt', 'encoding/ใในใ.txt']) }.not_to raise_error + end end describe '#commit_deltas' do |