gitx 2.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +28 -0
  3. data/.rspec +2 -0
  4. data/.ruby-version +1 -0
  5. data/.travis.yml +6 -0
  6. data/CONTRIBUTING.md +67 -0
  7. data/Gemfile +4 -0
  8. data/Guardfile +8 -0
  9. data/LICENSE.txt +22 -0
  10. data/README.md +87 -0
  11. data/Rakefile +5 -0
  12. data/bin/git-buildtag +6 -0
  13. data/bin/git-cleanup +7 -0
  14. data/bin/git-integrate +6 -0
  15. data/bin/git-nuke +6 -0
  16. data/bin/git-release +6 -0
  17. data/bin/git-review +6 -0
  18. data/bin/git-share +6 -0
  19. data/bin/git-start +6 -0
  20. data/bin/git-track +6 -0
  21. data/bin/git-update +6 -0
  22. data/gitx.gemspec +37 -0
  23. data/lib/gitx.rb +8 -0
  24. data/lib/gitx/cli/base_command.rb +56 -0
  25. data/lib/gitx/cli/buildtag_command.rb +39 -0
  26. data/lib/gitx/cli/cleanup_command.rb +45 -0
  27. data/lib/gitx/cli/integrate_command.rb +94 -0
  28. data/lib/gitx/cli/nuke_command.rb +62 -0
  29. data/lib/gitx/cli/release_command.rb +40 -0
  30. data/lib/gitx/cli/review_command.rb +93 -0
  31. data/lib/gitx/cli/share_command.rb +15 -0
  32. data/lib/gitx/cli/start_command.rb +37 -0
  33. data/lib/gitx/cli/track_command.rb +14 -0
  34. data/lib/gitx/cli/update_command.rb +35 -0
  35. data/lib/gitx/configuration.rb +44 -0
  36. data/lib/gitx/extensions/string.rb +12 -0
  37. data/lib/gitx/extensions/thor.rb +39 -0
  38. data/lib/gitx/github.rb +178 -0
  39. data/lib/gitx/version.rb +3 -0
  40. data/spec/fixtures/vcr_cassettes/pull_request_does_exist_with_failure_status.yml +135 -0
  41. data/spec/fixtures/vcr_cassettes/pull_request_does_exist_with_success_status.yml +149 -0
  42. data/spec/fixtures/vcr_cassettes/pull_request_does_not_exist.yml +133 -0
  43. data/spec/gitx/cli/base_command_spec.rb +41 -0
  44. data/spec/gitx/cli/buildtag_command_spec.rb +70 -0
  45. data/spec/gitx/cli/cleanup_command_spec.rb +37 -0
  46. data/spec/gitx/cli/integrate_command_spec.rb +290 -0
  47. data/spec/gitx/cli/nuke_command_spec.rb +165 -0
  48. data/spec/gitx/cli/release_command_spec.rb +172 -0
  49. data/spec/gitx/cli/review_command_spec.rb +356 -0
  50. data/spec/gitx/cli/share_command_spec.rb +32 -0
  51. data/spec/gitx/cli/start_command_spec.rb +96 -0
  52. data/spec/gitx/cli/track_command_spec.rb +31 -0
  53. data/spec/gitx/cli/update_command_spec.rb +79 -0
  54. data/spec/spec_helper.rb +86 -0
  55. data/spec/support/global_config.rb +26 -0
  56. data/spec/support/home_env.rb +11 -0
  57. data/spec/support/matchers/meet_expectations_matcher.rb +7 -0
  58. data/spec/support/pry.rb +1 -0
  59. data/spec/support/stub_execution.rb +14 -0
  60. data/spec/support/timecop.rb +9 -0
  61. data/spec/support/vcr.rb +6 -0
  62. data/spec/support/webmock.rb +1 -0
  63. metadata +348 -0
@@ -0,0 +1,32 @@
1
+ require 'spec_helper'
2
+ require 'gitx/cli/share_command'
3
+
4
+ describe Gitx::Cli::ShareCommand do
5
+ let(:args) { [] }
6
+ let(:options) { {} }
7
+ let(:config) do
8
+ {
9
+ pretend: true
10
+ }
11
+ end
12
+ let(:cli) { Gitx::Cli::ShareCommand.new(args, options, config) }
13
+ let(:branch) { double('fake branch', name: 'feature-branch') }
14
+
15
+ before do
16
+ allow(cli).to receive(:current_branch).and_return(branch)
17
+ end
18
+
19
+ describe '#share' do
20
+ before do
21
+ allow(cli).to receive(:say)
22
+
23
+ expect(cli).to receive(:run_cmd).with('git push origin feature-branch').ordered
24
+ expect(cli).to receive(:run_cmd).with('git branch --set-upstream-to origin/feature-branch').ordered
25
+
26
+ cli.share
27
+ end
28
+ it 'runs expected commands' do
29
+ should meet_expectations
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,96 @@
1
+ require 'spec_helper'
2
+ require 'gitx/cli/start_command'
3
+
4
+ describe Gitx::Cli::StartCommand do
5
+ let(:args) { [] }
6
+ let(:options) { {} }
7
+ let(:config) do
8
+ {
9
+ pretend: true
10
+ }
11
+ end
12
+ let(:cli) { Gitx::Cli::StartCommand.new(args, options, config) }
13
+ let(:repo) { cli.send(:repo) }
14
+
15
+ describe '#start' do
16
+ context 'when user inputs branch that is valid' do
17
+ before do
18
+ expect(cli).to receive(:checkout_branch).with('master').ordered
19
+ expect(cli).to receive(:run_cmd).with('git pull').ordered
20
+ expect(repo).to receive(:create_branch).with('new-branch', 'master').ordered
21
+ expect(cli).to receive(:checkout_branch).with('new-branch').ordered
22
+
23
+ cli.start 'new-branch'
24
+ end
25
+ it do
26
+ should meet_expectations
27
+ end
28
+ end
29
+ context 'when user does not input a branch name' do
30
+ before do
31
+ expect(cli).to receive(:ask).and_return('new-branch')
32
+
33
+ expect(cli).to receive(:checkout_branch).with('master').ordered
34
+ expect(cli).to receive(:run_cmd).with('git pull').ordered
35
+ expect(repo).to receive(:create_branch).with('new-branch', 'master').ordered
36
+ expect(cli).to receive(:checkout_branch).with('new-branch').ordered
37
+
38
+ cli.start
39
+ end
40
+ it 'prompts user to enter a new branch name' do
41
+ should meet_expectations
42
+ end
43
+ end
44
+ context 'when user inputs an invalid branch name' do
45
+ before do
46
+ expect(cli).to receive(:ask).and_return('new-branch')
47
+
48
+ expect(cli).to receive(:checkout_branch).with('master').ordered
49
+ expect(cli).to receive(:run_cmd).with('git pull').ordered
50
+ expect(repo).to receive(:create_branch).with('new-branch', 'master').ordered
51
+ expect(cli).to receive(:checkout_branch).with('new-branch').ordered
52
+
53
+ cli.start 'a bad_branch-name?'
54
+ end
55
+ it 'prompts user to enter a new branch name' do
56
+ should meet_expectations
57
+ end
58
+ end
59
+ context 'when branch already exists in local repo' do
60
+ let(:branches) { double(each_name: ['bar']) }
61
+ before do
62
+ expect(repo).to receive(:branches).and_return(branches)
63
+
64
+ expect(cli).to receive(:ask).and_return('new-branch')
65
+
66
+ expect(cli).to receive(:checkout_branch).with('master').ordered
67
+ expect(cli).to receive(:run_cmd).with('git pull').ordered
68
+ expect(repo).to receive(:create_branch).with('new-branch', 'master').ordered
69
+ expect(cli).to receive(:checkout_branch).with('new-branch').ordered
70
+
71
+ cli.start 'bar'
72
+ end
73
+ it 'prompts user to enter a new branch name' do
74
+ should meet_expectations
75
+ end
76
+ end
77
+ context 'when branch already exists in remote repo' do
78
+ let(:branches) { double(each_name: ['origin/bar']) }
79
+ before do
80
+ expect(repo).to receive(:branches).and_return(branches)
81
+
82
+ expect(cli).to receive(:ask).and_return('new-branch')
83
+
84
+ expect(cli).to receive(:checkout_branch).with('master').ordered
85
+ expect(cli).to receive(:run_cmd).with('git pull').ordered
86
+ expect(repo).to receive(:create_branch).with('new-branch', 'master').ordered
87
+ expect(cli).to receive(:checkout_branch).with('new-branch').ordered
88
+
89
+ cli.start 'bar'
90
+ end
91
+ it 'prompts user to enter a new branch name' do
92
+ should meet_expectations
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,31 @@
1
+ require 'spec_helper'
2
+ require 'gitx/cli/track_command'
3
+
4
+ describe Gitx::Cli::TrackCommand do
5
+ let(:args) { [] }
6
+ let(:options) { {} }
7
+ let(:config) do
8
+ {
9
+ pretend: true
10
+ }
11
+ end
12
+ let(:cli) { Gitx::Cli::TrackCommand.new(args, options, config) }
13
+ let(:branch) { double('fake branch', name: 'feature-branch') }
14
+
15
+ before do
16
+ allow(cli).to receive(:current_branch).and_return(branch)
17
+ end
18
+
19
+ describe '#track' do
20
+ before do
21
+ allow(cli).to receive(:say)
22
+
23
+ expect(cli).to receive(:run_cmd).with('git branch --set-upstream-to origin/feature-branch').ordered
24
+
25
+ cli.track
26
+ end
27
+ it 'runs expected commands' do
28
+ should meet_expectations
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,79 @@
1
+ require 'spec_helper'
2
+ require 'gitx/cli/update_command'
3
+
4
+ describe Gitx::Cli::UpdateCommand do
5
+ let(:args) { [] }
6
+ let(:options) { {} }
7
+ let(:config) do
8
+ {
9
+ pretend: true
10
+ }
11
+ end
12
+ let(:cli) { Gitx::Cli::UpdateCommand.new(args, options, config) }
13
+ let(:branch) { double('fake branch', name: 'feature-branch') }
14
+ let(:repo) { cli.send(:repo) }
15
+ let(:remote_branch_names) { ['origin/feature-branch'] }
16
+
17
+ before do
18
+ allow(cli).to receive(:current_branch).and_return(branch)
19
+ branches = double('fake branches')
20
+ allow(branches).to receive(:each_name).with(:remote).and_return(remote_branch_names)
21
+ allow(repo).to receive(:branches).and_return(branches)
22
+ end
23
+
24
+ describe '#update' do
25
+ context 'when no merge conflicts occur' do
26
+ before do
27
+ allow(cli).to receive(:say)
28
+
29
+ expect(cli).to receive(:run_cmd).with('git pull origin feature-branch').ordered
30
+ expect(cli).to receive(:run_cmd).with('git pull origin master').ordered
31
+ expect(cli).to receive(:run_cmd).with('git push origin HEAD').ordered
32
+
33
+ cli.update
34
+ end
35
+ it 'runs expected commands' do
36
+ should meet_expectations
37
+ end
38
+ end
39
+ context 'when merge conflicts occur when pulling remote feature-branch' do
40
+ before do
41
+ allow(cli).to receive(:say)
42
+
43
+ expect(cli).to receive(:run_cmd).with('git pull origin feature-branch').and_raise('merge error').ordered
44
+
45
+ expect { cli.update }.to raise_error(Gitx::Cli::BaseCommand::MergeError, 'Merge Conflict Occurred. Please fix merge conflict and rerun the update command')
46
+ end
47
+ it 'raises error' do
48
+ should meet_expectations
49
+ end
50
+ end
51
+ context 'when merge conflicts occur when pulling remote master branch' do
52
+ before do
53
+ allow(cli).to receive(:say)
54
+
55
+ expect(cli).to receive(:run_cmd).with('git pull origin feature-branch').ordered
56
+ expect(cli).to receive(:run_cmd).with('git pull origin master').and_raise('merge error occurred').ordered
57
+
58
+ expect { cli.update }.to raise_error(Gitx::Cli::BaseCommand::MergeError, 'Merge Conflict Occurred. Please fix merge conflict and rerun the update command')
59
+ end
60
+ it 'raises error' do
61
+ should meet_expectations
62
+ end
63
+ end
64
+ context 'when feature-branch does not exist remotely' do
65
+ let(:remote_branch_names) { [] }
66
+ before do
67
+ allow(cli).to receive(:say)
68
+
69
+ expect(cli).not_to receive(:run_cmd).with('git pull origin feature-branch')
70
+ expect(cli).to receive(:run_cmd).with('git pull origin master').ordered
71
+
72
+ cli.update
73
+ end
74
+ it 'skips pulling from feature branch' do
75
+ should meet_expectations
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,86 @@
1
+ require 'coveralls'
2
+ Coveralls.wear! do
3
+ ::SimpleCov.add_filter 'spec'
4
+ ::SimpleCov.add_filter 'lib/gitx/extensions'
5
+ end
6
+ require 'rubygems'
7
+ require 'bundler/setup'
8
+
9
+ # Requires supporting ruby files with custom matchers and macros, etc,
10
+ # in spec/support/ and its subdirectories.
11
+ Dir[File.join(__dir__, 'support/**/*.rb')].each { |f| require f }
12
+
13
+ # This file was generated by the `rspec --init` command. Conventionally, all
14
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
15
+ # The generated `.rspec` file contains `--require spec_helper` which will cause this
16
+ # file to always be loaded, without a need to explicitly require it in any files.
17
+ #
18
+ # Given that it is always loaded, you are encouraged to keep this file as
19
+ # light-weight as possible. Requiring heavyweight dependencies from this file
20
+ # will add to the boot time of your test suite on EVERY test run, even for an
21
+ # individual file that may not need all of that loaded. Instead, make a
22
+ # separate helper file that requires this one and then use it only in the specs
23
+ # that actually need it.
24
+ #
25
+ # The `.rspec` file also contains a few flags that are not defaults but that
26
+ # users commonly want.
27
+ #
28
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
29
+ RSpec.configure do |config|
30
+ # These two settings work together to allow you to limit a spec run
31
+ # to individual examples or groups you care about by tagging them with
32
+ # `:focus` metadata. When nothing is tagged with `:focus`, all examples
33
+ # get run.
34
+ config.filter_run :focus
35
+ config.run_all_when_everything_filtered = true
36
+
37
+ # Many RSpec users commonly either run the entire suite or an individual
38
+ # file, and it's useful to allow more verbose output when running an
39
+ # individual spec file.
40
+ if config.files_to_run.one?
41
+ # Use the documentation formatter for detailed output,
42
+ # unless a formatter has already been configured
43
+ # (e.g. via a command-line flag).
44
+ config.default_formatter = 'doc'
45
+ end
46
+
47
+ # Print the 10 slowest examples and example groups at the
48
+ # end of the spec run, to help surface which specs are running
49
+ # particularly slow.
50
+ # config.profile_examples = 10
51
+
52
+ # Run specs in random order to surface order dependencies. If you find an
53
+ # order dependency and want to debug it, you can fix the order by providing
54
+ # the seed, which is printed after each run.
55
+ # --seed 1234
56
+ config.order = :random
57
+
58
+ # Seed global randomization in this process using the `--seed` CLI option.
59
+ # Setting this allows you to use `--seed` to deterministically reproduce
60
+ # test failures related to randomization by passing the same `--seed` value
61
+ # as the one that triggered the failure.
62
+ Kernel.srand config.seed
63
+
64
+ # rspec-expectations config goes here. You can use an alternate
65
+ # assertion/expectation library such as wrong or the stdlib/minitest
66
+ # assertions if you prefer.
67
+ config.expect_with :rspec do |expectations|
68
+ # Enable only the newer, non-monkey-patching expect syntax.
69
+ # For more details, see:
70
+ # - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax
71
+ expectations.syntax = :expect
72
+ end
73
+
74
+ # rspec-mocks config goes here. You can use an alternate test double
75
+ # library (such as bogus or mocha) by changing the `mock_with` option here.
76
+ config.mock_with :rspec do |mocks|
77
+ # Enable only the newer, non-monkey-patching expect syntax.
78
+ # For more details, see:
79
+ # - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
80
+ mocks.syntax = :expect
81
+
82
+ # Prevents you from mocking or stubbing a method that does not exist on
83
+ # a real object. This is generally recommended.
84
+ mocks.verify_partial_doubles = true
85
+ end
86
+ end
@@ -0,0 +1,26 @@
1
+ # helper for reading global config file
2
+ module GlobalConfig
3
+ def global_config_file
4
+ config_file = File.join(temp_dir, '.config/gitx/github.yml')
5
+ config_dir = File.dirname(config_file)
6
+ FileUtils.mkdir_p(config_dir) unless File.exist?(config_dir)
7
+ config_file
8
+ end
9
+
10
+ def global_config
11
+ YAML.load_file(global_config_file)
12
+ end
13
+
14
+ def temp_dir
15
+ File.join(__dir__, '../tmp')
16
+ end
17
+ end
18
+
19
+ RSpec.configure do |config|
20
+ config.include GlobalConfig
21
+
22
+ config.before do
23
+ FileUtils.rm_rf(temp_dir)
24
+ FileUtils.mkdir_p(temp_dir)
25
+ end
26
+ end
@@ -0,0 +1,11 @@
1
+ # Swap home directory to current project spec/tmp
2
+ # to allow for writing files + cleanup
3
+ RSpec.configure do |config|
4
+ config.before do
5
+ @old_home = ENV['HOME']
6
+ ENV['HOME'] = temp_dir
7
+ end
8
+ config.after do
9
+ ENV['HOME'] = @old_home
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ # empty matcher to allow for mock expectations to fire
2
+ RSpec::Matchers.define :meet_expectations do |expected|
3
+ match do |actual|
4
+ # do nothing
5
+ expect(true).to be true
6
+ end
7
+ end
@@ -0,0 +1 @@
1
+ require 'pry'
@@ -0,0 +1,14 @@
1
+ # protip to prevent execution of shell commands during testsuite
2
+ # see http://stackoverflow.com/questions/1628586/mock-system-call-in-ruby
3
+ module Kernel
4
+ def execute_with_stub(cmd)
5
+ if cmd.include?('git')
6
+ puts "WARNING: stubbing command execution within tests of command: #{cmd}", :red
7
+ else
8
+ execute_without_stub(cmd)
9
+ end
10
+ end
11
+
12
+ alias_method :execute_without_stub, :`
13
+ alias_method :`, :execute_with_stub
14
+ end
@@ -0,0 +1,9 @@
1
+ require 'timecop'
2
+
3
+ # use safe mode to prevent unexpected time leaking errors
4
+ # see https://github.com/travisjeffery/timecop#timecopsafe_mode
5
+ RSpec.configure do |config|
6
+ config.before do
7
+ Timecop.safe_mode = true
8
+ end
9
+ end
@@ -0,0 +1,6 @@
1
+ require 'vcr'
2
+
3
+ VCR.configure do |c|
4
+ c.cassette_library_dir = 'spec/fixtures/vcr_cassettes'
5
+ c.hook_into :webmock
6
+ end
@@ -0,0 +1 @@
1
+ require 'webmock/rspec'
metadata ADDED
@@ -0,0 +1,348 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gitx
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.13.1
5
+ platform: ruby
6
+ authors:
7
+ - Ryan Sonnek
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-06-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rugged
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.21.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.21.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: thor
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: octokit
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.3'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '3.0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '3.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: pry
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: webmock
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: timecop
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 0.7.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 0.7.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: vcr
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: guard
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: guard-rspec
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: coveralls
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: terminal-notifier
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: terminal-notifier-guard
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ description: Git eXtensions for improved development workflow
224
+ email:
225
+ - ryan.sonnek@gmail.com
226
+ executables:
227
+ - git-buildtag
228
+ - git-cleanup
229
+ - git-integrate
230
+ - git-nuke
231
+ - git-release
232
+ - git-review
233
+ - git-share
234
+ - git-start
235
+ - git-track
236
+ - git-update
237
+ extensions: []
238
+ extra_rdoc_files: []
239
+ files:
240
+ - ".gitignore"
241
+ - ".rspec"
242
+ - ".ruby-version"
243
+ - ".travis.yml"
244
+ - CONTRIBUTING.md
245
+ - Gemfile
246
+ - Guardfile
247
+ - LICENSE.txt
248
+ - README.md
249
+ - Rakefile
250
+ - bin/git-buildtag
251
+ - bin/git-cleanup
252
+ - bin/git-integrate
253
+ - bin/git-nuke
254
+ - bin/git-release
255
+ - bin/git-review
256
+ - bin/git-share
257
+ - bin/git-start
258
+ - bin/git-track
259
+ - bin/git-update
260
+ - gitx.gemspec
261
+ - lib/gitx.rb
262
+ - lib/gitx/cli/base_command.rb
263
+ - lib/gitx/cli/buildtag_command.rb
264
+ - lib/gitx/cli/cleanup_command.rb
265
+ - lib/gitx/cli/integrate_command.rb
266
+ - lib/gitx/cli/nuke_command.rb
267
+ - lib/gitx/cli/release_command.rb
268
+ - lib/gitx/cli/review_command.rb
269
+ - lib/gitx/cli/share_command.rb
270
+ - lib/gitx/cli/start_command.rb
271
+ - lib/gitx/cli/track_command.rb
272
+ - lib/gitx/cli/update_command.rb
273
+ - lib/gitx/configuration.rb
274
+ - lib/gitx/extensions/string.rb
275
+ - lib/gitx/extensions/thor.rb
276
+ - lib/gitx/github.rb
277
+ - lib/gitx/version.rb
278
+ - spec/fixtures/vcr_cassettes/pull_request_does_exist_with_failure_status.yml
279
+ - spec/fixtures/vcr_cassettes/pull_request_does_exist_with_success_status.yml
280
+ - spec/fixtures/vcr_cassettes/pull_request_does_not_exist.yml
281
+ - spec/gitx/cli/base_command_spec.rb
282
+ - spec/gitx/cli/buildtag_command_spec.rb
283
+ - spec/gitx/cli/cleanup_command_spec.rb
284
+ - spec/gitx/cli/integrate_command_spec.rb
285
+ - spec/gitx/cli/nuke_command_spec.rb
286
+ - spec/gitx/cli/release_command_spec.rb
287
+ - spec/gitx/cli/review_command_spec.rb
288
+ - spec/gitx/cli/share_command_spec.rb
289
+ - spec/gitx/cli/start_command_spec.rb
290
+ - spec/gitx/cli/track_command_spec.rb
291
+ - spec/gitx/cli/update_command_spec.rb
292
+ - spec/spec_helper.rb
293
+ - spec/support/global_config.rb
294
+ - spec/support/home_env.rb
295
+ - spec/support/matchers/meet_expectations_matcher.rb
296
+ - spec/support/pry.rb
297
+ - spec/support/stub_execution.rb
298
+ - spec/support/timecop.rb
299
+ - spec/support/vcr.rb
300
+ - spec/support/webmock.rb
301
+ homepage: ''
302
+ licenses:
303
+ - MIT
304
+ metadata: {}
305
+ post_install_message:
306
+ rdoc_options: []
307
+ require_paths:
308
+ - lib
309
+ required_ruby_version: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - ">="
312
+ - !ruby/object:Gem::Version
313
+ version: '0'
314
+ required_rubygems_version: !ruby/object:Gem::Requirement
315
+ requirements:
316
+ - - ">="
317
+ - !ruby/object:Gem::Version
318
+ version: '0'
319
+ requirements: []
320
+ rubyforge_project:
321
+ rubygems_version: 2.2.2
322
+ signing_key:
323
+ specification_version: 4
324
+ summary: Utility scripts for Git to increase productivity for common operations
325
+ test_files:
326
+ - spec/fixtures/vcr_cassettes/pull_request_does_exist_with_failure_status.yml
327
+ - spec/fixtures/vcr_cassettes/pull_request_does_exist_with_success_status.yml
328
+ - spec/fixtures/vcr_cassettes/pull_request_does_not_exist.yml
329
+ - spec/gitx/cli/base_command_spec.rb
330
+ - spec/gitx/cli/buildtag_command_spec.rb
331
+ - spec/gitx/cli/cleanup_command_spec.rb
332
+ - spec/gitx/cli/integrate_command_spec.rb
333
+ - spec/gitx/cli/nuke_command_spec.rb
334
+ - spec/gitx/cli/release_command_spec.rb
335
+ - spec/gitx/cli/review_command_spec.rb
336
+ - spec/gitx/cli/share_command_spec.rb
337
+ - spec/gitx/cli/start_command_spec.rb
338
+ - spec/gitx/cli/track_command_spec.rb
339
+ - spec/gitx/cli/update_command_spec.rb
340
+ - spec/spec_helper.rb
341
+ - spec/support/global_config.rb
342
+ - spec/support/home_env.rb
343
+ - spec/support/matchers/meet_expectations_matcher.rb
344
+ - spec/support/pry.rb
345
+ - spec/support/stub_execution.rb
346
+ - spec/support/timecop.rb
347
+ - spec/support/vcr.rb
348
+ - spec/support/webmock.rb