Fix corrupted binary files when using API files endpoint
Add CHANGELOG for gitlab_git 7.2.9 updates Closes #2219
This commit is contained in:
parent
b833f208f3
commit
c5648de230
|
|
@ -1,6 +1,7 @@
|
||||||
Please view this file on the master branch, on stable branches it's out of date.
|
Please view this file on the master branch, on stable branches it's out of date.
|
||||||
|
|
||||||
v 7.14.0 (unreleased)
|
v 7.14.0 (unreleased)
|
||||||
|
- Fix corrupted binary files when using API files endpoint (Stan Hu)
|
||||||
- Show incompatible projects in Bitbucket import status (Stan Hu)
|
- Show incompatible projects in Bitbucket import status (Stan Hu)
|
||||||
- Fix coloring of diffs on MR Discussion-tab (Gert Goet)
|
- Fix coloring of diffs on MR Discussion-tab (Gert Goet)
|
||||||
- Fix "Network" and "Graphs" pages for branches with encoded slashes (Stan Hu)
|
- Fix "Network" and "Graphs" pages for branches with encoded slashes (Stan Hu)
|
||||||
|
|
@ -44,6 +45,9 @@ v 7.14.0 (unreleased)
|
||||||
- Remove satellites
|
- Remove satellites
|
||||||
- Remove comments and email addresses when publicly exposing ssh keys (Zeger-Jan van de Weg)
|
- Remove comments and email addresses when publicly exposing ssh keys (Zeger-Jan van de Weg)
|
||||||
- Cache all events
|
- Cache all events
|
||||||
|
- Order commits by date when comparing branches
|
||||||
|
- Fix bug causing error when the target branch of a symbolic ref was deleted
|
||||||
|
- Include branch/tag name in archive file and directory name
|
||||||
|
|
||||||
v 7.13.3
|
v 7.13.3
|
||||||
- Fix bug causing Bitbucket importer to crash when OAuth application had been removed.
|
- Fix bug causing Bitbucket importer to crash when OAuth application had been removed.
|
||||||
|
|
|
||||||
2
Gemfile
2
Gemfile
|
|
@ -38,7 +38,7 @@ gem "browser", '~> 0.8.0'
|
||||||
|
|
||||||
# Extracting information from a git repository
|
# Extracting information from a git repository
|
||||||
# Provide access to Gitlab::Git library
|
# Provide access to Gitlab::Git library
|
||||||
gem "gitlab_git", '~> 7.2.6'
|
gem "gitlab_git", '~> 7.2.11'
|
||||||
|
|
||||||
# Ruby/Rack Git Smart-HTTP Server Handler
|
# Ruby/Rack Git Smart-HTTP Server Handler
|
||||||
# GitLab fork with a lot of changes (improved thread-safety, better memory usage etc)
|
# GitLab fork with a lot of changes (improved thread-safety, better memory usage etc)
|
||||||
|
|
|
||||||
|
|
@ -271,7 +271,7 @@ GEM
|
||||||
mime-types (~> 1.19)
|
mime-types (~> 1.19)
|
||||||
gitlab_emoji (0.1.0)
|
gitlab_emoji (0.1.0)
|
||||||
gemojione (~> 2.0)
|
gemojione (~> 2.0)
|
||||||
gitlab_git (7.2.6)
|
gitlab_git (7.2.11)
|
||||||
activesupport (~> 4.0)
|
activesupport (~> 4.0)
|
||||||
charlock_holmes (~> 0.6)
|
charlock_holmes (~> 0.6)
|
||||||
gitlab-linguist (~> 3.0)
|
gitlab-linguist (~> 3.0)
|
||||||
|
|
@ -783,7 +783,7 @@ DEPENDENCIES
|
||||||
gitlab-grack (~> 2.0.2)
|
gitlab-grack (~> 2.0.2)
|
||||||
gitlab-linguist (~> 3.0.1)
|
gitlab-linguist (~> 3.0.1)
|
||||||
gitlab_emoji (~> 0.1)
|
gitlab_emoji (~> 0.1)
|
||||||
gitlab_git (~> 7.2.6)
|
gitlab_git (~> 7.2.11)
|
||||||
gitlab_meta (= 7.0)
|
gitlab_meta (= 7.0)
|
||||||
gitlab_omniauth-ldap (= 1.2.1)
|
gitlab_omniauth-ldap (= 1.2.1)
|
||||||
gollum-lib (~> 4.0.2)
|
gollum-lib (~> 4.0.2)
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,7 @@ module API
|
||||||
file_path: blob.path,
|
file_path: blob.path,
|
||||||
size: blob.size,
|
size: blob.size,
|
||||||
encoding: "base64",
|
encoding: "base64",
|
||||||
content: Base64.encode64(blob.data),
|
content: Base64.strict_encode64(blob.data),
|
||||||
ref: ref,
|
ref: ref,
|
||||||
blob_id: blob.id,
|
blob_id: blob.id,
|
||||||
commit_id: commit.id,
|
commit_id: commit.id,
|
||||||
|
|
|
||||||
|
|
@ -117,4 +117,35 @@ describe API::API, api: true do
|
||||||
expect(response.status).to eq(400)
|
expect(response.status).to eq(400)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "POST /projects/:id/repository/files with binary file" do
|
||||||
|
let(:file_path) { 'test.bin' }
|
||||||
|
let(:put_params) do
|
||||||
|
{
|
||||||
|
file_path: file_path,
|
||||||
|
branch_name: 'master',
|
||||||
|
content: 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEUAAACnej3aAAAAAXRSTlMAQObYZgAAAApJREFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=',
|
||||||
|
commit_message: 'Binary file with a \n should not be touched',
|
||||||
|
encoding: 'base64'
|
||||||
|
}
|
||||||
|
end
|
||||||
|
let(:get_params) do
|
||||||
|
{
|
||||||
|
file_path: file_path,
|
||||||
|
ref: 'master',
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
before do
|
||||||
|
post api("/projects/#{project.id}/repository/files", user), put_params
|
||||||
|
end
|
||||||
|
|
||||||
|
it "remains unchanged" do
|
||||||
|
get api("/projects/#{project.id}/repository/files", user), get_params
|
||||||
|
expect(response.status).to eq(200)
|
||||||
|
expect(json_response['file_path']).to eq(file_path)
|
||||||
|
expect(json_response['file_name']).to eq(file_path)
|
||||||
|
expect(json_response['content']).to eq(put_params[:content])
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue