git_workflow 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +77 -0
- data/Rakefile +33 -0
- data/bin/git-finish +4 -0
- data/bin/git-start +4 -0
- data/bin/git-workflow-setup +4 -0
- data/features/core_functionality/4049578_need_the_ability_to_start_a_new_branch.feature +15 -0
- data/features/core_functionality/4049611_need_the_ability_to_finish_a_specified_branch.feature +17 -0
- data/features/core_functionality/4056359_start_with_local_branch_already_present.feature +16 -0
- data/features/core_functionality/4056363_finish_the_current_branch.feature +17 -0
- data/features/core_functionality/4056389_changes_to_pt_story_name_cause_branch_issues.feature +25 -0
- data/features/core_functionality/4135658_control_output_verbosity_using_v_switch.feature +32 -0
- data/features/core_functionality/4468313_get_config_value_for_is_producing_an_error_log.feature +43 -0
- data/features/extensions/4058326_display_story_description_on_start.feature +14 -0
- data/features/git_branching/4135501_allow_branch_start_point_to_be_specified_from_command_line.feature +27 -0
- data/features/hooks/4069174_investigate_the_effort_required_to_add_pre_amp_post_hooks.feature +24 -0
- data/features/hooks/4199841_need_hooks_for_my_workflow.feature +51 -0
- data/features/hooks/4199845_need_hooks_for_sanger_workflow.feature +66 -0
- data/features/hooks/4205913_output_from_rake_tests_should_be_seen.feature +19 -0
- data/features/hooks/4424828_git_start_is_missing_pt_integration_for_my_hooks.feature +15 -0
- data/features/pivotal_tracker_api/4133291_chores_go_straight_to_accepted_not_to_finished.feature +15 -0
- data/features/release/4132264_fix_the_libxml_warnings_from_nokogiri.feature +20 -0
- data/features/step_definitions/aruba_extensions.rb +4 -0
- data/features/step_definitions/configuration_steps.rb +38 -0
- data/features/step_definitions/git_steps.rb +102 -0
- data/features/step_definitions/misc_steps.rb +3 -0
- data/features/step_definitions/pivotal_tracker_steps.rb +43 -0
- data/features/step_definitions/project_code_steps.rb +35 -0
- data/features/support/aruba.rb +1 -0
- data/features/support/hooks/configuration.rb +4 -0
- data/features/support/hooks/environment.rb +49 -0
- data/features/support/hooks/pivotal_tracker.rb +170 -0
- data/lib/git_workflow.rb +5 -0
- data/lib/git_workflow/callbacks.rb +16 -0
- data/lib/git_workflow/callbacks/pivotal_tracker_support.rb +64 -0
- data/lib/git_workflow/callbacks/remote_git_branch_support.rb +9 -0
- data/lib/git_workflow/callbacks/styles/debug.rb +58 -0
- data/lib/git_workflow/callbacks/styles/default.rb +43 -0
- data/lib/git_workflow/callbacks/styles/mine.rb +52 -0
- data/lib/git_workflow/callbacks/styles/sanger.rb +48 -0
- data/lib/git_workflow/callbacks/test_code_support.rb +29 -0
- data/lib/git_workflow/command_line.rb +46 -0
- data/lib/git_workflow/commands.rb +4 -0
- data/lib/git_workflow/commands/base.rb +31 -0
- data/lib/git_workflow/commands/finish.rb +36 -0
- data/lib/git_workflow/commands/setup.rb +157 -0
- data/lib/git_workflow/commands/start.rb +30 -0
- data/lib/git_workflow/configuration.rb +93 -0
- data/lib/git_workflow/core_ext.rb +106 -0
- data/lib/git_workflow/git.rb +143 -0
- data/lib/git_workflow/logger.yaml +27 -0
- data/lib/git_workflow/logging.rb +77 -0
- data/lib/git_workflow/story.rb +96 -0
- data/spec/core_functionality/4056539_support_http_proxy_spec.rb +68 -0
- data/spec/core_functionality/4058365_bad_request_on_story_update_spec.rb +13 -0
- data/spec/core_functionality/4058394_make_commands_more_verbose_spec.rb +41 -0
- data/spec/core_functionality/4058719_error_if_none_of_the_required_configuration_values_are_set_spec.rb +21 -0
- data/spec/core_functionality/4058861_git_config_returns_empty_strings_which_should_be_nil_spec.rb +59 -0
- data/spec/core_functionality/4172431_add_git_workflow_setup_command_to_make_setup_easier_spec.rb +148 -0
- data/spec/core_functionality/4199841_need_callbacks_for_my_workflow_spec.rb +97 -0
- data/spec/extensions/4199841_need_callbacks_for_my_workflow_spec.rb +167 -0
- data/spec/extensions/4205913_output_from_rake_tests_should_be_seen_spec.rb +34 -0
- data/spec/git_branching/4058723_branches_end_in_if_the_last_character_is_invalid_spec.rb +40 -0
- data/spec/git_branching/4059824_code_is_not_using_workflow_localbranchconvention_to_decode_branch_names_on_finish_spec.rb +115 -0
- data/spec/git_branching/4216087_support_pushing_branches_spec.rb +44 -0
- data/spec/hooks/4199845_need_hooks_for_sanger_workflow_spec.rb +27 -0
- data/spec/pivotal_tracker_api/4056381_pt_api_token_not_being_passed_in_headers_spec.rb +40 -0
- data/spec/pivotal_tracker_api/4056638_library_code_using_localhost_spec.rb +16 -0
- data/spec/pivotal_tracker_api/4056661_content_type_header_should_be_text_xml_on_updates_spec.rb +16 -0
- data/spec/pivotal_tracker_api/4058718_if_pt_username_is_not_set_use_user_name_spec.rb +26 -0
- data/spec/pivotal_tracker_api/4146016_decode_the_xml_encoded_text_of_description_and_name_spec.rb +63 -0
- data/spec/shared_examples/configuration.rb +10 -0
- data/spec/shared_examples/story.rb +17 -0
- data/spec/spec_helper.rb +18 -0
- metadata +220 -0
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
class GitWorkflow::Configuration
|
4
|
+
def self.for_testing
|
5
|
+
new
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
describe GitWorkflow::Configuration do
|
10
|
+
before(:each) do
|
11
|
+
@configuration = described_class.for_testing
|
12
|
+
end
|
13
|
+
|
14
|
+
describe '#remote_branch_convention' do
|
15
|
+
it 'uses the workflow.remotebranchconvention setting' do
|
16
|
+
@configuration.should_receive(:get_config_value_for!).with('workflow.remotebranchconvention').and_return('${number}_foo')
|
17
|
+
@configuration.remote_branch_convention
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
class GitWorkflow::Git::Repository
|
23
|
+
def self.for_testing
|
24
|
+
new
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe GitWorkflow::Git::Repository do
|
29
|
+
before(:each) do
|
30
|
+
@repository = described_class.for_testing
|
31
|
+
end
|
32
|
+
|
33
|
+
describe '#push' do
|
34
|
+
it 'pushes the branch to origin' do
|
35
|
+
@repository.should_receive(:execute_command).with('git push origin foo')
|
36
|
+
@repository.push('foo')
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'raises BranchError if the push fails' do
|
40
|
+
@repository.should_receive(:execute_command).with('git push origin foo').and_raise(Execution::CommandFailure.new('command', :failure))
|
41
|
+
lambda { @repository.push('foo') }.should raise_error(GitWorkflow::Git::Repository::BranchError)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'git_workflow/callbacks/styles/sanger'
|
3
|
+
|
4
|
+
describe GitWorkflow::Callbacks::Styles::Sanger::StartBehaviour do
|
5
|
+
before(:each) do
|
6
|
+
@behaviour = Class.new
|
7
|
+
@behaviour.extend(GitWorkflow::Callbacks::Styles::Sanger::StartBehaviour)
|
8
|
+
end
|
9
|
+
|
10
|
+
describe '#start' do
|
11
|
+
after(:each) do
|
12
|
+
story = mock('Story')
|
13
|
+
story.stub(:branch_name).and_return('story_branch')
|
14
|
+
@behaviour.should_receive(:checkout_or_create_branch).with('story_branch', @expected_branch_point)
|
15
|
+
|
16
|
+
@behaviour.start(story, @branch_point)
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'creates the branch from the default start point' do
|
20
|
+
@branch_point, @expected_branch_point = nil, 'master'
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'creates the branch from the specified start point' do
|
24
|
+
@branch_point = @expected_branch_point = 'foobar'
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'git_workflow/callbacks/pivotal_tracker_support'
|
3
|
+
|
4
|
+
module GitWorkflow::Callbacks::PivotalTrackerSupport
|
5
|
+
public :pivotal_tracker_service_for
|
6
|
+
end
|
7
|
+
|
8
|
+
describe GitWorkflow::Callbacks::PivotalTrackerSupport do
|
9
|
+
before(:each) do
|
10
|
+
@command = Class.new.new
|
11
|
+
@command.stub!(:debug).with(any_args)
|
12
|
+
@command.extend(GitWorkflow::Callbacks::PivotalTrackerSupport)
|
13
|
+
end
|
14
|
+
|
15
|
+
describe '#pivotal_tracker_service_for' do
|
16
|
+
it_should_behave_like 'it needs configuration'
|
17
|
+
|
18
|
+
before(:each) do
|
19
|
+
@command.class.instance_eval do
|
20
|
+
stub!(:enable_http_proxy_if_present)
|
21
|
+
should_receive(:pivotal_tracker_url_for).with('project_id', 'story_id').and_return('url')
|
22
|
+
end
|
23
|
+
|
24
|
+
@expectation = RestClient::Resource.should_receive(:new)
|
25
|
+
end
|
26
|
+
|
27
|
+
after(:each) do
|
28
|
+
@expectation.and_return(:ok)
|
29
|
+
@command.pivotal_tracker_service_for('story_id').should == :ok
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'uses the correct PT URL' do
|
33
|
+
@expectation = @expectation.with('url', anything)
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'uses the users PT API token' do
|
37
|
+
@expectation = @expectation.with(anything, hash_including(:headers => hash_including('X-TrackerToken' => 'api_token')))
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'git_workflow/callbacks/pivotal_tracker_support'
|
3
|
+
|
4
|
+
describe GitWorkflow::Callbacks::PivotalTrackerSupport::ClassMethods do
|
5
|
+
before(:each) do
|
6
|
+
@class_methods = Object.new
|
7
|
+
@class_methods.extend(GitWorkflow::Callbacks::PivotalTrackerSupport::ClassMethods)
|
8
|
+
end
|
9
|
+
|
10
|
+
describe '.pivotal_tracker_url_for' do
|
11
|
+
it 'returns an appropriate real world URL' do
|
12
|
+
@class_methods.pivotal_tracker_url_for('project_id', 'story_id').should ==
|
13
|
+
'http://www.pivotaltracker.com/services/v3/projects/project_id/stories/story_id'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/spec/pivotal_tracker_api/4056661_content_type_header_should_be_text_xml_on_updates_spec.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
class GitWorkflow::Story
|
4
|
+
public :service!
|
5
|
+
end
|
6
|
+
|
7
|
+
describe GitWorkflow::Story do
|
8
|
+
describe '#service!' do
|
9
|
+
it_should_behave_like 'it needs a working Story'
|
10
|
+
|
11
|
+
it 'sets the "Content-Type" header to "text/xml"' do
|
12
|
+
@service.should_receive(:put).with(anything, hash_including(:content_type => 'application/xml'))
|
13
|
+
@story.service!
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
class GitWorkflow::Configuration
|
4
|
+
def self.instance_for_testing
|
5
|
+
new
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
describe GitWorkflow::Configuration do
|
10
|
+
describe '#username' do
|
11
|
+
before(:each) do
|
12
|
+
@configuration = described_class.instance_for_testing
|
13
|
+
end
|
14
|
+
|
15
|
+
it 'uses pt.username first' do
|
16
|
+
@configuration.should_receive(:get_config_value_for).with('pt.username').and_return('pt.username')
|
17
|
+
@configuration.username.should == 'pt.username'
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'falls back to user.name otherwise' do
|
21
|
+
@configuration.should_receive(:get_config_value_for).with('pt.username').and_return(nil)
|
22
|
+
@configuration.should_receive(:get_config_value_for!).with('user.name').and_return('user.name')
|
23
|
+
@configuration.username.should == 'user.name'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/spec/pivotal_tracker_api/4146016_decode_the_xml_encoded_text_of_description_and_name_spec.rb
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
class GitWorkflow::Story
|
4
|
+
attr_reader :story_type
|
5
|
+
end
|
6
|
+
|
7
|
+
describe GitWorkflow::Story do
|
8
|
+
describe '#load_story!' do
|
9
|
+
context 'basic behaviour' do
|
10
|
+
before(:each) do
|
11
|
+
@elements = {
|
12
|
+
:story_type => 'Story Type',
|
13
|
+
:name => 'Name',
|
14
|
+
:id => 10,
|
15
|
+
:description => 'Story Description'
|
16
|
+
}
|
17
|
+
|
18
|
+
xml = Builder::XmlMarkup.new
|
19
|
+
xml.story { @elements.each { |e,v| xml.tag!(e, v.to_s) } }
|
20
|
+
|
21
|
+
service = mock('PT Service')
|
22
|
+
service.should_receive(:get).and_return(xml.target)
|
23
|
+
|
24
|
+
@story = described_class.new(service)
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'properly sets story_id' do
|
28
|
+
@story.story_id.should == @elements[ :id ]
|
29
|
+
end
|
30
|
+
|
31
|
+
[ :story_type, :name, :description ].each do |attribute|
|
32
|
+
it "properly sets #{ attribute }" do
|
33
|
+
@story.send(attribute).should == @elements[ attribute ]
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context 'encoded characters' do
|
39
|
+
before(:each) do
|
40
|
+
xml = Builder::XmlMarkup.new
|
41
|
+
xml.story {
|
42
|
+
xml.story_type('something')
|
43
|
+
xml.id('10')
|
44
|
+
xml.name('The name & something important')
|
45
|
+
xml.description('The description & something important')
|
46
|
+
}
|
47
|
+
|
48
|
+
service = mock('PT Service')
|
49
|
+
service.should_receive(:get).and_return(xml.target)
|
50
|
+
|
51
|
+
@story = described_class.new(service)
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'decodes the name' do
|
55
|
+
@story.name.should == 'The name & something important'
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'decodes the description' do
|
59
|
+
@story.description.should == 'The description & something important'
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
shared_examples_for 'it needs configuration' do
|
2
|
+
before(:each) do
|
3
|
+
configuration = mock('configuration')
|
4
|
+
configuration.stub!(:username).and_return('username')
|
5
|
+
configuration.stub!(:project_id).and_return('project_id')
|
6
|
+
configuration.stub!(:api_token).and_return('api_token')
|
7
|
+
configuration.stub!(:local_branch_convention).and_return('convention')
|
8
|
+
GitWorkflow::Configuration.stub!(:instance).and_return(configuration)
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
shared_examples_for 'it needs a working Story' do
|
2
|
+
before(:each) do
|
3
|
+
xml = Builder::XmlMarkup.new
|
4
|
+
xml.story {
|
5
|
+
xml.name('name')
|
6
|
+
xml.id('1', :type => 'integer')
|
7
|
+
xml.description('description')
|
8
|
+
xml.story_type('story_type')
|
9
|
+
}
|
10
|
+
|
11
|
+
@service = mock('service')
|
12
|
+
@service.stub!(:get).and_return(xml.target)
|
13
|
+
|
14
|
+
@story = GitWorkflow::Story.new(@service)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'git_workflow'
|
3
|
+
|
4
|
+
require 'shared_examples/configuration'
|
5
|
+
require 'shared_examples/story'
|
6
|
+
|
7
|
+
# Disable the logging output during tests
|
8
|
+
require 'log4r'
|
9
|
+
GitWorkflow::Logging.logger = logger = Log4r::Logger.new('test logger')
|
10
|
+
logger.outputters = Log4r::Outputter.stdout
|
11
|
+
logger.level = Log4r::FATAL
|
12
|
+
|
13
|
+
# Just so that the test code doesn't fail
|
14
|
+
class GitWorkflow::Commands::Base
|
15
|
+
def usage_info(options)
|
16
|
+
options.banner = 'Usage: git something'
|
17
|
+
end
|
18
|
+
end
|
metadata
ADDED
@@ -0,0 +1,220 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: git_workflow
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 0
|
8
|
+
- 5
|
9
|
+
version: 0.0.5
|
10
|
+
platform: ruby
|
11
|
+
authors:
|
12
|
+
- Matthew Denner
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
|
17
|
+
date: 2010-07-01 00:00:00 +01:00
|
18
|
+
default_executable:
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: rest-client
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 1
|
29
|
+
- 5
|
30
|
+
- 1
|
31
|
+
version: 1.5.1
|
32
|
+
type: :runtime
|
33
|
+
version_requirements: *id001
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: nokogiri
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ">="
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
segments:
|
42
|
+
- 1
|
43
|
+
- 4
|
44
|
+
- 2
|
45
|
+
version: 1.4.2
|
46
|
+
type: :runtime
|
47
|
+
version_requirements: *id002
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: builder
|
50
|
+
prerelease: false
|
51
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
segments:
|
56
|
+
- 2
|
57
|
+
- 1
|
58
|
+
- 2
|
59
|
+
version: 2.1.2
|
60
|
+
type: :runtime
|
61
|
+
version_requirements: *id003
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: POpen4
|
64
|
+
prerelease: false
|
65
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
segments:
|
70
|
+
- 0
|
71
|
+
- 1
|
72
|
+
- 4
|
73
|
+
version: 0.1.4
|
74
|
+
type: :runtime
|
75
|
+
version_requirements: *id004
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
name: highline
|
78
|
+
prerelease: false
|
79
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
segments:
|
84
|
+
- 1
|
85
|
+
- 6
|
86
|
+
- 1
|
87
|
+
version: 1.6.1
|
88
|
+
type: :runtime
|
89
|
+
version_requirements: *id005
|
90
|
+
- !ruby/object:Gem::Dependency
|
91
|
+
name: log4r
|
92
|
+
prerelease: false
|
93
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
segments:
|
98
|
+
- 1
|
99
|
+
- 1
|
100
|
+
- 8
|
101
|
+
version: 1.1.8
|
102
|
+
type: :runtime
|
103
|
+
version_requirements: *id006
|
104
|
+
description: Extends git with some scripts that support a tie up with Pivotal Tracker
|
105
|
+
email: matt.denner@gmail.com
|
106
|
+
executables:
|
107
|
+
- git-start
|
108
|
+
- git-finish
|
109
|
+
- git-workflow-setup
|
110
|
+
extensions: []
|
111
|
+
|
112
|
+
extra_rdoc_files:
|
113
|
+
- README.markdown
|
114
|
+
files:
|
115
|
+
- README.markdown
|
116
|
+
- Rakefile
|
117
|
+
- lib/git_workflow/callbacks/pivotal_tracker_support.rb
|
118
|
+
- lib/git_workflow/callbacks/remote_git_branch_support.rb
|
119
|
+
- lib/git_workflow/callbacks/styles/debug.rb
|
120
|
+
- lib/git_workflow/callbacks/styles/default.rb
|
121
|
+
- lib/git_workflow/callbacks/styles/mine.rb
|
122
|
+
- lib/git_workflow/callbacks/styles/sanger.rb
|
123
|
+
- lib/git_workflow/callbacks/test_code_support.rb
|
124
|
+
- lib/git_workflow/callbacks.rb
|
125
|
+
- lib/git_workflow/command_line.rb
|
126
|
+
- lib/git_workflow/commands/base.rb
|
127
|
+
- lib/git_workflow/commands/finish.rb
|
128
|
+
- lib/git_workflow/commands/setup.rb
|
129
|
+
- lib/git_workflow/commands/start.rb
|
130
|
+
- lib/git_workflow/commands.rb
|
131
|
+
- lib/git_workflow/configuration.rb
|
132
|
+
- lib/git_workflow/core_ext.rb
|
133
|
+
- lib/git_workflow/git.rb
|
134
|
+
- lib/git_workflow/logging.rb
|
135
|
+
- lib/git_workflow/story.rb
|
136
|
+
- lib/git_workflow.rb
|
137
|
+
- lib/git_workflow/logger.yaml
|
138
|
+
- bin/git-finish
|
139
|
+
- bin/git-start
|
140
|
+
- bin/git-workflow-setup
|
141
|
+
has_rdoc: yard
|
142
|
+
homepage: http://github.com/mattdenner/git_workflow
|
143
|
+
licenses: []
|
144
|
+
|
145
|
+
post_install_message:
|
146
|
+
rdoc_options:
|
147
|
+
- --charset=UTF-8
|
148
|
+
require_paths:
|
149
|
+
- lib
|
150
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
151
|
+
requirements:
|
152
|
+
- - ">="
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
segments:
|
155
|
+
- 0
|
156
|
+
version: "0"
|
157
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
158
|
+
requirements:
|
159
|
+
- - ">="
|
160
|
+
- !ruby/object:Gem::Version
|
161
|
+
segments:
|
162
|
+
- 1
|
163
|
+
- 3
|
164
|
+
- 6
|
165
|
+
version: 1.3.6
|
166
|
+
requirements: []
|
167
|
+
|
168
|
+
rubyforge_project:
|
169
|
+
rubygems_version: 1.3.6
|
170
|
+
signing_key:
|
171
|
+
specification_version: 3
|
172
|
+
summary: git extensions to support Pivotal Tracker
|
173
|
+
test_files:
|
174
|
+
- spec/core_functionality/4056539_support_http_proxy_spec.rb
|
175
|
+
- spec/core_functionality/4058365_bad_request_on_story_update_spec.rb
|
176
|
+
- spec/core_functionality/4058394_make_commands_more_verbose_spec.rb
|
177
|
+
- spec/core_functionality/4058719_error_if_none_of_the_required_configuration_values_are_set_spec.rb
|
178
|
+
- spec/core_functionality/4058861_git_config_returns_empty_strings_which_should_be_nil_spec.rb
|
179
|
+
- spec/core_functionality/4172431_add_git_workflow_setup_command_to_make_setup_easier_spec.rb
|
180
|
+
- spec/core_functionality/4199841_need_callbacks_for_my_workflow_spec.rb
|
181
|
+
- spec/extensions/4199841_need_callbacks_for_my_workflow_spec.rb
|
182
|
+
- spec/extensions/4205913_output_from_rake_tests_should_be_seen_spec.rb
|
183
|
+
- spec/git_branching/4058723_branches_end_in_if_the_last_character_is_invalid_spec.rb
|
184
|
+
- spec/git_branching/4059824_code_is_not_using_workflow_localbranchconvention_to_decode_branch_names_on_finish_spec.rb
|
185
|
+
- spec/git_branching/4216087_support_pushing_branches_spec.rb
|
186
|
+
- spec/hooks/4199845_need_hooks_for_sanger_workflow_spec.rb
|
187
|
+
- spec/pivotal_tracker_api/4056381_pt_api_token_not_being_passed_in_headers_spec.rb
|
188
|
+
- spec/pivotal_tracker_api/4056638_library_code_using_localhost_spec.rb
|
189
|
+
- spec/pivotal_tracker_api/4056661_content_type_header_should_be_text_xml_on_updates_spec.rb
|
190
|
+
- spec/pivotal_tracker_api/4058718_if_pt_username_is_not_set_use_user_name_spec.rb
|
191
|
+
- spec/pivotal_tracker_api/4146016_decode_the_xml_encoded_text_of_description_and_name_spec.rb
|
192
|
+
- spec/shared_examples/configuration.rb
|
193
|
+
- spec/shared_examples/story.rb
|
194
|
+
- spec/spec_helper.rb
|
195
|
+
- features/core_functionality/4049578_need_the_ability_to_start_a_new_branch.feature
|
196
|
+
- features/core_functionality/4049611_need_the_ability_to_finish_a_specified_branch.feature
|
197
|
+
- features/core_functionality/4056359_start_with_local_branch_already_present.feature
|
198
|
+
- features/core_functionality/4056363_finish_the_current_branch.feature
|
199
|
+
- features/core_functionality/4056389_changes_to_pt_story_name_cause_branch_issues.feature
|
200
|
+
- features/core_functionality/4135658_control_output_verbosity_using_v_switch.feature
|
201
|
+
- features/core_functionality/4468313_get_config_value_for_is_producing_an_error_log.feature
|
202
|
+
- features/extensions/4058326_display_story_description_on_start.feature
|
203
|
+
- features/git_branching/4135501_allow_branch_start_point_to_be_specified_from_command_line.feature
|
204
|
+
- features/hooks/4069174_investigate_the_effort_required_to_add_pre_amp_post_hooks.feature
|
205
|
+
- features/hooks/4199841_need_hooks_for_my_workflow.feature
|
206
|
+
- features/hooks/4199845_need_hooks_for_sanger_workflow.feature
|
207
|
+
- features/hooks/4205913_output_from_rake_tests_should_be_seen.feature
|
208
|
+
- features/hooks/4424828_git_start_is_missing_pt_integration_for_my_hooks.feature
|
209
|
+
- features/pivotal_tracker_api/4133291_chores_go_straight_to_accepted_not_to_finished.feature
|
210
|
+
- features/release/4132264_fix_the_libxml_warnings_from_nokogiri.feature
|
211
|
+
- features/step_definitions/aruba_extensions.rb
|
212
|
+
- features/step_definitions/configuration_steps.rb
|
213
|
+
- features/step_definitions/git_steps.rb
|
214
|
+
- features/step_definitions/misc_steps.rb
|
215
|
+
- features/step_definitions/pivotal_tracker_steps.rb
|
216
|
+
- features/step_definitions/project_code_steps.rb
|
217
|
+
- features/support/aruba.rb
|
218
|
+
- features/support/hooks/configuration.rb
|
219
|
+
- features/support/hooks/environment.rb
|
220
|
+
- features/support/hooks/pivotal_tracker.rb
|