diff options
author | Jeroen van Baarsen <jeroenvanbaarsen@gmail.com> | 2014-03-06 16:08:51 +0100 |
---|---|---|
committer | Jeroen van Baarsen <jeroenvanbaarsen@gmail.com> | 2014-03-06 16:08:51 +0100 |
commit | 4a251849cf0408780f6ee536699c212f8fe7a7be (patch) | |
tree | be865450d3c709468f5697137cfbcbc375107b01 | |
parent | f096bd61bda605f2e3631bcd4663ab68c7396989 (diff) | |
download | gitlab-ce-4a251849cf0408780f6ee536699c212f8fe7a7be.tar.gz |
Added newrev and oldrev to the hook data
-rw-r--r-- | app/services/git_tag_push_service.rb | 8 | ||||
-rw-r--r-- | app/workers/post_receive.rb | 2 | ||||
-rw-r--r-- | spec/services/git_tag_push_service_spec.rb | 8 |
3 files changed, 12 insertions, 6 deletions
diff --git a/app/services/git_tag_push_service.rb b/app/services/git_tag_push_service.rb index 21db5fcfa58..84fb371fee5 100644 --- a/app/services/git_tag_push_service.rb +++ b/app/services/git_tag_push_service.rb @@ -1,16 +1,18 @@ class GitTagPushService attr_accessor :project, :user, :push_data - def execute(project, user, ref) + def execute(project, user, oldrev, newrev, ref) @project, @user = project, user - @push_data = create_push_data(ref) + @push_data = create_push_data(oldrev, newrev, ref) project.execute_hooks(@push_data.dup, :tag_push_hooks) end private - def create_push_data(ref) + def create_push_data(oldrev, newrev, ref) data = { ref: ref, + oldrev: oldrev, + newrev: newrev, user_id: user.id, user_name: user.name, project_id: project.id, diff --git a/app/workers/post_receive.rb b/app/workers/post_receive.rb index 80e6368ad2d..3b0cf77d42e 100644 --- a/app/workers/post_receive.rb +++ b/app/workers/post_receive.rb @@ -30,7 +30,7 @@ class PostReceive end if tag?(ref) - GitTagPushService.new.execute(project, user, ref) + GitTagPushService.new.execute(project, user, oldrev, newrev, ref) else GitPushService.new.execute(project, user, oldrev, newrev, ref) end diff --git a/spec/services/git_tag_push_service_spec.rb b/spec/services/git_tag_push_service_spec.rb index aabb9f8f38d..d3f7ca30748 100644 --- a/spec/services/git_tag_push_service_spec.rb +++ b/spec/services/git_tag_push_service_spec.rb @@ -7,17 +7,21 @@ describe GitTagPushService do before do @ref = 'refs/tags/super-tag' + @oldrev = 'b98a310def241a6fd9c9a9a3e7934c48e498fe81' + @newrev = 'b19a04f53caeebf4fe5ec2327cb83e9253dc91bb' end describe 'Git Tag Push Data' do before do - service.execute(project, user, @ref) + service.execute(project, user, @oldrev, @newrev, @ref) @push_data = service.push_data end subject { @push_data } it { should include(ref: @ref) } + it { should include(oldrev: @oldrev) } + it { should include(newrev: @newrev) } it { should include(user_id: user.id) } it { should include(user_name: user.name) } it { should include(project_id: project.id) } @@ -36,7 +40,7 @@ describe GitTagPushService do context "execute web hooks" do it "when pushing tags" do project.should_receive(:execute_hooks) - service.execute(project, user, 'refs/tags/v1.0.0') + service.execute(project, user, 'oldrev', 'newrev', 'refs/tags/v1.0.0') end end end |