Merge branch 'master' of github.com:gitlabhq/gitlabhq
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> Conflicts: CHANGELOG
This commit is contained in:
commit
f0dd16d53e
|
|
@ -5,6 +5,7 @@ v 7.5.0
|
|||
- Fix LDAP config lookup for provider 'ldap'
|
||||
- Add Atlassian Bamboo CI service (Drew Blessing)
|
||||
- Mentioned @user will receive email even if he is not participating in issue or commit
|
||||
- Tie up loose ends with annotated tags: API & UI (Sean Edge)
|
||||
|
||||
v 7.4.2
|
||||
- Fix internal snippet exposing for unauthenticated users
|
||||
|
|
|
|||
|
|
@ -10,7 +10,10 @@
|
|||
- if @commit.parent_ids.present?
|
||||
= view_file_btn(@commit.parent_id, diff_file, project)
|
||||
- else
|
||||
%span= diff_file.new_path
|
||||
- if diff_file.renamed_file
|
||||
%span= "#{diff_file.old_path} renamed to #{diff_file.new_path}"
|
||||
- else
|
||||
%span= diff_file.new_path
|
||||
- if diff_file.mode_changed?
|
||||
%span.file-mode= "#{diff_file.diff.a_mode} → #{diff_file.diff.b_mode}"
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@
|
|||
= link_to project_commits_path(@project, tag.name), class: "" do
|
||||
%i.fa.fa-tag
|
||||
= tag.name
|
||||
- if tag.message.present?
|
||||
|
||||
= tag.message
|
||||
.pull-right
|
||||
- if can? current_user, :download_code, @project
|
||||
= render 'projects/repositories/download_archive', ref: tag.name, btn_class: 'btn-grouped btn-group-small'
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@ Parameters:
|
|||
[
|
||||
{
|
||||
"name": "v1.0.0",
|
||||
"message": "Release 1.0.0",
|
||||
"commit": {
|
||||
"id": "2695effb5807a22ff3d138d593fd856244e155e7",
|
||||
"parents": [],
|
||||
|
|
@ -67,10 +68,11 @@ Parameters:
|
|||
"committed_date": "2012-05-28T04:42:42-07:00",
|
||||
"committer_email": "jack@example.com"
|
||||
},
|
||||
"protected": false
|
||||
}
|
||||
]
|
||||
```
|
||||
The message will be `nil` when creating a lightweight tag otherwise
|
||||
it will contain the annotation.
|
||||
|
||||
It returns 200 if the operation succeed. In case of an error,
|
||||
405 with an explaining error message is returned.
|
||||
|
|
|
|||
|
|
@ -76,6 +76,7 @@ Is the system packaged Git too old? Remove it and compile from source.
|
|||
cd /tmp
|
||||
curl -L --progress https://www.kernel.org/pub/software/scm/git/git-2.1.2.tar.gz | tar xz
|
||||
cd git-2.1.2/
|
||||
./configure
|
||||
make prefix=/usr/local all
|
||||
|
||||
# Install into /usr/local/bin
|
||||
|
|
@ -91,7 +92,7 @@ Then select 'Internet Site' and press enter to confirm the hostname.
|
|||
|
||||
## 2. Ruby
|
||||
|
||||
The use of ruby version managers such as [RVM](http://rvm.io/), [rbenv](https://github.com/sstephenson/rbenv) or [chruby](https://github.com/postmodern/chruby) with GitLab in production frequently leads to hard to diagnose problems. For example, GitLab Shell is called from OpenSSH and having a version manager can prevent pushing and pulling over SSH. Version managers are not supported and we strongly advise everyone to follow the instructions below to use a system ruby.
|
||||
The use of Ruby version managers such as [RVM](http://rvm.io/), [rbenv](https://github.com/sstephenson/rbenv) or [chruby](https://github.com/postmodern/chruby) with GitLab in production frequently leads to hard to diagnose problems. For example, GitLab Shell is called from OpenSSH and having a version manager can prevent pushing and pulling over SSH. Version managers are not supported and we strongly advise everyone to follow the instructions below to use a system Ruby.
|
||||
|
||||
Remove the old Ruby 1.8 if present
|
||||
|
||||
|
|
|
|||
|
|
@ -267,6 +267,7 @@ mysql> \q
|
|||
# Set production -> username: git
|
||||
# Set production -> password: the password your replaced $password with earlier
|
||||
sudo -u git -H editor /home/git/gitlab/config/database.yml
|
||||
```
|
||||
|
||||
## Things went south? Revert to previous version (6.0)
|
||||
|
||||
|
|
|
|||
|
|
@ -73,6 +73,25 @@ module API
|
|||
end
|
||||
end
|
||||
|
||||
class RepoTag < Grape::Entity
|
||||
expose :name
|
||||
expose :message do |repo_obj, _options|
|
||||
if repo_obj.respond_to?(:message)
|
||||
repo_obj.message
|
||||
else
|
||||
nil
|
||||
end
|
||||
end
|
||||
|
||||
expose :commit do |repo_obj, options|
|
||||
if repo_obj.respond_to?(:commit)
|
||||
repo_obj.commit
|
||||
elsif options[:project]
|
||||
options[:project].repository.commit(repo_obj.target)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
class RepoObject < Grape::Entity
|
||||
expose :name
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,8 @@ module API
|
|||
# Example Request:
|
||||
# GET /projects/:id/repository/tags
|
||||
get ":id/repository/tags" do
|
||||
present user_project.repo.tags.sort_by(&:name).reverse, with: Entities::RepoObject, project: user_project
|
||||
present user_project.repo.tags.sort_by(&:name).reverse,
|
||||
with: Entities::RepoTag, project: user_project
|
||||
end
|
||||
|
||||
# Create tag
|
||||
|
|
@ -43,7 +44,7 @@ module API
|
|||
|
||||
if result[:status] == :success
|
||||
present result[:tag],
|
||||
with: Entities::RepoObject,
|
||||
with: Entities::RepoTag,
|
||||
project: user_project
|
||||
else
|
||||
render_api_error!(result[:message], 400)
|
||||
|
|
|
|||
|
|
@ -34,21 +34,24 @@ describe API::API, api: true do
|
|||
end
|
||||
end
|
||||
|
||||
# TODO: fix this test for CI
|
||||
#context 'annotated tag' do
|
||||
#it 'should create a new annotated tag' do
|
||||
#post api("/projects/#{project.id}/repository/tags", user),
|
||||
#tag_name: 'v7.1.0',
|
||||
#ref: 'master',
|
||||
#message: 'tag message'
|
||||
context 'annotated tag' do
|
||||
it 'should create a new annotated tag' do
|
||||
# Identity must be set in .gitconfig to create annotated tag.
|
||||
repo_path = File.join(Gitlab.config.gitlab_shell.repos_path,
|
||||
project.path_with_namespace + '.git')
|
||||
system(*%W(git --git-dir=#{repo_path} config user.name #{user.name}))
|
||||
system(*%W(git --git-dir=#{repo_path} config user.email #{user.email}))
|
||||
|
||||
#response.status.should == 201
|
||||
#json_response['name'].should == 'v7.1.0'
|
||||
# The message is not part of the JSON response.
|
||||
# Additional changes to the gitlab_git gem may be required.
|
||||
# json_response['message'].should == 'tag message'
|
||||
#end
|
||||
#end
|
||||
post api("/projects/#{project.id}/repository/tags", user),
|
||||
tag_name: 'v7.1.0',
|
||||
ref: 'master',
|
||||
message: 'Release 7.1.0'
|
||||
|
||||
response.status.should == 201
|
||||
json_response['name'].should == 'v7.1.0'
|
||||
json_response['message'].should == 'Release 7.1.0'
|
||||
end
|
||||
end
|
||||
|
||||
it 'should deny for user without push access' do
|
||||
post api("/projects/#{project.id}/repository/tags", user2),
|
||||
|
|
|
|||
Loading…
Reference in New Issue