gitx 3.1.2 → 3.2.0.ci.231.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7e08878dfac9d91e18971c1f5a1004514d00a3166c097150ee4bb4b7facdcd71
4
- data.tar.gz: f0e9e7588b0055cad2cdaca6e3daabc6130f1edc6a59aaf7ee77b8445eb20646
3
+ metadata.gz: 5b8587ddcc46ef139e7da6a96c086a1a22d36f3deeeaef1fe1ca821e715788fc
4
+ data.tar.gz: 4d6438cd1e56cdc71a884166c2fddf6c83603394a1ff955f56b64936cb8d9dde
5
5
  SHA512:
6
- metadata.gz: cf60c209410079bcdb1fa2af67fb84a6c60976de3f18fa6cc8d13bd4a95db2f698e03843d991611a82facfcbe1a2957a85bf4628992794fd3193925cb0edb8f5
7
- data.tar.gz: 7e0327e79b99e1c7eb1e40d21aca02881cb73f5d4b465c5b29b3d14bda905551b8d515322f26d516685bad62564b94055c7221bfc078d4c66f88c3049ab618f2
6
+ metadata.gz: 2654037ef33ad4715d93a8c3d24b0c7b9ee592b57f1200529bf46251481574b57df694d2832af190dd2efc6be2db63d7e327c79add1db503e325055264469196
7
+ data.tar.gz: 82fae8f49f8db3ee90166dae76f5143cbedb34f2553307a571dae4894bd6831910f3d64a13d0cc8410a472f5a9060df347134029fb2d2626fdf0edcd8d9aa2b4
data/.rubocop.yml CHANGED
@@ -6,6 +6,9 @@
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
+ AllCops:
10
+ TargetRubyVersion: '2.6'
11
+
9
12
  FileName:
10
13
  Exclude:
11
14
  - bin/*
@@ -25,7 +28,7 @@ Metrics/AbcSize:
25
28
 
26
29
  # Offense count: 2
27
30
  Metrics/CyclomaticComplexity:
28
- Max: 7
31
+ Max: 8
29
32
 
30
33
  # Offense count: 5
31
34
  # Configuration parameters: CountComments.
@@ -35,7 +38,7 @@ Metrics/MethodLength:
35
38
  # Offense count: 1
36
39
  # Configuration parameters: CountComments.
37
40
  Metrics/ModuleLength:
38
- Max: 123
41
+ Max: 150
39
42
 
40
43
  # Offense count: 3
41
44
  Style/RescueModifier:
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.6.6
1
+ 2.7.3
data/README.md CHANGED
@@ -47,13 +47,13 @@ This setting is cleared when a reviewer approves or rejects the pull request.
47
47
 
48
48
  ## git release <feature_branch_name (optional, default: current_branch)
49
49
 
50
- release the feature branch to master. This operation will perform the following:
50
+ release the feature branch to the base branch (by default, master). This operation will perform the following:
51
51
 
52
52
  * pull latest code from remote feature branch
53
- * pull latest code from master branch
53
+ * pull latest code from the base branch
54
54
  * prompt user to confirm they actually want to perform the release
55
55
  * check if pull request commit status is currently successful
56
- * merge current branch into master
56
+ * merge current branch into the base branch (or add release label if configured)
57
57
  * (optional) cleanup merged branches from remote server
58
58
 
59
59
  options:
@@ -63,7 +63,7 @@ options:
63
63
 
64
64
  ## git cleanup
65
65
 
66
- delete released branches after they have been merged into master.
66
+ delete released branches after they have been merged into the base branch.
67
67
 
68
68
  ## git nuke <aggregate_branch_name>
69
69
 
data/gitx.gemspec CHANGED
@@ -3,18 +3,19 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
  require 'gitx/version'
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = 'gitx'
7
- spec.authors = ['Ryan Sonnek']
8
- spec.email = ['ryan.sonnek@gmail.com']
9
- spec.description = 'Git eXtensions for improved development workflows'
10
- spec.summary = 'Utility scripts for Git to increase productivity for common operations'
11
- spec.homepage = ''
12
- spec.license = 'MIT'
6
+ spec.name = 'gitx'
7
+ spec.authors = ['Ryan Sonnek']
8
+ spec.email = ['ryan.sonnek@gmail.com']
9
+ spec.description = 'Git eXtensions for improved development workflows'
10
+ spec.summary = 'Utility scripts for Git to increase productivity for common operations'
11
+ spec.homepage = ''
12
+ spec.license = 'MIT'
13
+ spec.required_ruby_version = '>= 2.6.7'
13
14
 
14
- spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
15
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
16
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
- spec.require_paths = ['lib']
15
+ spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
16
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
+ spec.require_paths = ['lib']
18
19
 
19
20
  spec.add_runtime_dependency 'octokit'
20
21
  spec.add_runtime_dependency 'rugged', '~> 0.27.10'
@@ -12,7 +12,7 @@ module Gitx
12
12
  method_option :cleanup, type: :boolean, desc: 'cleanup merged branches after release'
13
13
  def release(branch = nil)
14
14
  branch ||= current_branch.name
15
-
15
+
16
16
  return unless yes?("Release #{branch} to #{config.base_branch}? (y/n)", :green)
17
17
 
18
18
  assert_not_protected_branch!(branch, 'release')
@@ -22,10 +22,14 @@ module Gitx
22
22
  pull_request = find_or_create_pull_request(branch)
23
23
  return unless confirm_branch_status?(branch)
24
24
 
25
- checkout_branch config.base_branch
26
- run_git_cmd 'pull', 'origin', config.base_branch
27
- run_git_cmd 'merge', '--no-ff', '--message', commit_message(branch, pull_request), branch
28
- run_git_cmd 'push', 'origin', 'HEAD'
25
+ if (label = config.release_label)
26
+ label_pull_request pull_request, label
27
+ else
28
+ checkout_branch config.base_branch
29
+ run_git_cmd 'pull', 'origin', config.base_branch
30
+ run_git_cmd 'merge', '--no-ff', '--message', commit_message(branch, pull_request), branch
31
+ run_git_cmd 'push', 'origin', 'HEAD'
32
+ end
29
33
 
30
34
  after_release
31
35
  end
@@ -17,6 +17,10 @@ module Gitx
17
17
  config[:base_branch]
18
18
  end
19
19
 
20
+ def release_label
21
+ config[:release_label]
22
+ end
23
+
20
24
  def aggregate_branches
21
25
  config[:aggregate_branches]
22
26
  end
@@ -2,6 +2,10 @@
2
2
  # default base branch
3
3
  base_branch: master
4
4
 
5
+ # Label to use for releasing a pull request, if this is set a label will be
6
+ # added to the PR rather than merging to the base branch
7
+ release_label:
8
+
5
9
  # list of branches eligable for integration
6
10
  aggregate_branches:
7
11
  - staging
data/lib/gitx/github.rb CHANGED
@@ -57,6 +57,10 @@ module Gitx
57
57
  github_client.create_status(github_slug, commit_sha, state, context: REVIEW_CONTEXT, description: description)
58
58
  end
59
59
 
60
+ def label_pull_request(pull_request, label)
61
+ github_client.add_labels_to_an_issue(github_slug, pull_request.number, [label])
62
+ end
63
+
60
64
  # @see http://developer.github.com/v3/pulls/
61
65
  def create_pull_request(branch)
62
66
  say 'Creating pull request for '
@@ -143,7 +147,7 @@ module Gitx
143
147
  # https://github.com/wireframe/gitx.git #=> wireframe/gitx
144
148
  def github_slug
145
149
  remote = repo.config['remote.origin.url']
146
- remote.to_s.gsub(/\.git$/, '').split(%r{[:\/]}).last(2).join('/')
150
+ remote.to_s.gsub(/\.git$/, '').split(%r{[:/]}).last(2).join('/')
147
151
  end
148
152
 
149
153
  def github_organization
@@ -155,9 +159,7 @@ module Gitx
155
159
  end
156
160
 
157
161
  def global_config
158
- @global_config ||= begin
159
- File.exist?(global_config_file) ? YAML.load_file(global_config_file) : {}
160
- end
162
+ @global_config ||= File.exist?(global_config_file) ? YAML.load_file(global_config_file) : {}
161
163
  end
162
164
 
163
165
  def save_global_config(options)
data/lib/gitx/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Gitx
2
- VERSION = '3.1.2'.freeze
2
+ VERSION = '3.2.0'.freeze
3
3
  end
@@ -145,5 +145,6 @@ http_interactions:
145
145
  encoding: UTF-8
146
146
  string: '{"state":"success"}'
147
147
  http_version:
148
- recorded_at: Wed, 10 Dec 2014 19:14:11 GMT
148
+ recorded_at: Tue, 05 Aug 2014 16:36:03 GMT
149
149
  recorded_with: VCR 2.9.2
150
+
@@ -0,0 +1,228 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.github.com/repos/wireframe/gitx/pulls?head=wireframe:feature-branch&state=open
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - application/vnd.github.v3+json
12
+ User-Agent:
13
+ - Octokit Ruby Gem 3.2.0
14
+ Authorization:
15
+ - token 123123
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - GitHub.com
25
+ Date:
26
+ - Tue, 05 Aug 2014 16:36:03 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Status:
30
+ - 200 OK
31
+ X-Ratelimit-Limit:
32
+ - '5000'
33
+ X-Ratelimit-Remaining:
34
+ - '4991'
35
+ X-Ratelimit-Reset:
36
+ - '1407257585'
37
+ Cache-Control:
38
+ - private, max-age=60, s-maxage=60
39
+ Etag:
40
+ - '"6d00d48abf2adf1877c8244700cd4c6f"'
41
+ X-Oauth-Scopes:
42
+ - repo
43
+ X-Accepted-Oauth-Scopes:
44
+ - ''
45
+ Vary:
46
+ - Accept, Authorization, Cookie, X-GitHub-OTP
47
+ - Accept-Encoding
48
+ X-Github-Media-Type:
49
+ - github.v3; format=json
50
+ Link:
51
+ - <https://api.github.com/repositories/17608725/pulls?head=wireframe%3Afeature-branch&state=open&page=0>;
52
+ rel="last"
53
+ X-Xss-Protection:
54
+ - 1; mode=block
55
+ X-Frame-Options:
56
+ - deny
57
+ Content-Security-Policy:
58
+ - default-src 'none'
59
+ Content-Length:
60
+ - '2'
61
+ Access-Control-Allow-Credentials:
62
+ - 'true'
63
+ Access-Control-Expose-Headers:
64
+ - ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,
65
+ X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
66
+ Access-Control-Allow-Origin:
67
+ - "*"
68
+ X-Github-Request-Id:
69
+ - 46C5E25C:1E4F:1642AD9:53E107F3
70
+ Strict-Transport-Security:
71
+ - max-age=31536000; includeSubdomains
72
+ X-Content-Type-Options:
73
+ - nosniff
74
+ X-Served-By:
75
+ - d818ddef80f4c7d10683dd483558952a
76
+ body:
77
+ encoding: UTF-8
78
+ string: '[{"html_url":"https://path/to/html/pull/request","issue_url":"https://api/path/to/issue/url","number":10,"head":{"ref":"branch_name", "sha": "e12da4"}}]'
79
+ http_version:
80
+ recorded_at: Tue, 05 Aug 2014 16:36:03 GMT
81
+ - request:
82
+ method: get
83
+ uri: https://api.github.com/repos/wireframe/gitx/commits/feature-branch/status
84
+ body:
85
+ encoding: US-ASCII
86
+ string: ''
87
+ headers:
88
+ Accept:
89
+ - application/vnd.github.v3+json
90
+ User-Agent:
91
+ - Octokit Ruby Gem 3.4.0
92
+ Content-Type:
93
+ - application/json
94
+ Authorization:
95
+ - token 123123
96
+ Accept-Encoding:
97
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
98
+ response:
99
+ status:
100
+ code: 200
101
+ message: OK
102
+ headers:
103
+ Server:
104
+ - GitHub.com
105
+ Date:
106
+ - Wed, 10 Dec 2014 19:01:27 GMT
107
+ Content-Type:
108
+ - application/json; charset=utf-8
109
+ Transfer-Encoding:
110
+ - chunked
111
+ Status:
112
+ - 200 OK
113
+ X-Ratelimit-Limit:
114
+ - '5000'
115
+ X-Ratelimit-Remaining:
116
+ - '4993'
117
+ X-Ratelimit-Reset:
118
+ - '1418241620'
119
+ X-Oauth-Scopes:
120
+ - repo
121
+ X-Accepted-Oauth-Scopes:
122
+ - repo, repo:status
123
+ X-Github-Media-Type:
124
+ - github.v3; format=json
125
+ X-Xss-Protection:
126
+ - 1; mode=block
127
+ X-Frame-Options:
128
+ - deny
129
+ Content-Security-Policy:
130
+ - default-src 'none'
131
+ Access-Control-Allow-Credentials:
132
+ - 'true'
133
+ Access-Control-Expose-Headers:
134
+ - ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,
135
+ X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
136
+ Access-Control-Allow-Origin:
137
+ - "*"
138
+ X-Github-Request-Id:
139
+ - C6CBAFAF:141D:2F27072:54889887
140
+ Strict-Transport-Security:
141
+ - max-age=31536000; includeSubdomains; preload
142
+ X-Content-Type-Options:
143
+ - nosniff
144
+ body:
145
+ encoding: UTF-8
146
+ string: '{"state":"success"}'
147
+ http_version:
148
+ recorded_at: Tue, 05 Aug 2014 16:36:03 GMT
149
+ - request:
150
+ method: post
151
+ uri: https://api.github.com/repos/wireframe/gitx/issues/10/labels
152
+ body:
153
+ encoding: US-ASCII
154
+ string: ''
155
+ headers:
156
+ Accept:
157
+ - application/vnd.github.v3+json
158
+ User-Agent:
159
+ - Octokit Ruby Gem 3.2.0
160
+ Authorization:
161
+ - token 123123
162
+ Accept-Encoding:
163
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
164
+ response:
165
+ status:
166
+ code: 200
167
+ message: OK
168
+ headers:
169
+ Server:
170
+ - GitHub.com
171
+ Date:
172
+ - Tue, 05 Aug 2014 16:36:03 GMT
173
+ Content-Type:
174
+ - application/json; charset=utf-8
175
+ Status:
176
+ - 200 OK
177
+ X-Ratelimit-Limit:
178
+ - '5000'
179
+ X-Ratelimit-Remaining:
180
+ - '4991'
181
+ X-Ratelimit-Reset:
182
+ - '1407257585'
183
+ Cache-Control:
184
+ - private, max-age=60, s-maxage=60
185
+ Etag:
186
+ - '"6d00d48abf2adf1877c8244700cd4c6f"'
187
+ X-Oauth-Scopes:
188
+ - repo
189
+ X-Accepted-Oauth-Scopes:
190
+ - ''
191
+ Vary:
192
+ - Accept, Authorization, Cookie, X-GitHub-OTP
193
+ - Accept-Encoding
194
+ X-Github-Media-Type:
195
+ - github.v3; format=json
196
+ Link:
197
+ - <https://api.github.com/repositories/17608725/pulls?head=wireframe%3Afeature-branch&state=open&page=0>;
198
+ rel="last"
199
+ X-Xss-Protection:
200
+ - 1; mode=block
201
+ X-Frame-Options:
202
+ - deny
203
+ Content-Security-Policy:
204
+ - default-src 'none'
205
+ Content-Length:
206
+ - '2'
207
+ Access-Control-Allow-Credentials:
208
+ - 'true'
209
+ Access-Control-Expose-Headers:
210
+ - ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,
211
+ X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
212
+ Access-Control-Allow-Origin:
213
+ - "*"
214
+ X-Github-Request-Id:
215
+ - 46C5E25C:1E4F:1642AD9:53E107F3
216
+ Strict-Transport-Security:
217
+ - max-age=31536000; includeSubdomains
218
+ X-Content-Type-Options:
219
+ - nosniff
220
+ X-Served-By:
221
+ - d818ddef80f4c7d10683dd483558952a
222
+ body:
223
+ encoding: UTF-8
224
+ string: '[{"id":1,"name":"release-me"}]'
225
+ http_version:
226
+ recorded_at: Tue, 05 Aug 2014 16:36:03 GMT
227
+ recorded_with: VCR 2.9.2
228
+
@@ -19,6 +19,7 @@ describe Gitx::Cli::IntegrateCommand do
19
19
 
20
20
  before do
21
21
  allow(cli).to receive(:current_branch).and_return(current_branch)
22
+ allow(cli).to receive(:github_slug).and_return('wireframe/gitx')
22
23
  branches = double('fake branches')
23
24
  allow(branches).to receive(:each_name).with(:local).and_return(local_branch_names)
24
25
  allow(branches).to receive(:each_name).with(:remote).and_return(remote_branch_names)
@@ -17,6 +17,7 @@ describe Gitx::Cli::ReleaseCommand do
17
17
 
18
18
  before do
19
19
  allow(cli).to receive(:current_branch).and_return(branch)
20
+ allow(cli).to receive(:github_slug).and_return('wireframe/gitx')
20
21
  end
21
22
 
22
23
  describe '#release' do
@@ -58,6 +59,7 @@ describe Gitx::Cli::ReleaseCommand do
58
59
  expect(repo).to receive(:workdir).and_return(temp_dir)
59
60
 
60
61
  expect(cli).to receive(:yes?).and_return(true)
62
+ expect(cli).to_not receive(:label_pull_request)
61
63
  allow(cli).to receive(:authorization_token).and_return(authorization_token)
62
64
 
63
65
  expect(executor).to receive(:execute).with('git', 'checkout', 'feature-branch').ordered
@@ -200,5 +202,38 @@ describe Gitx::Cli::ReleaseCommand do
200
202
  should meet_expectations
201
203
  end
202
204
  end
205
+ context 'when user confirms release and pull request exists with success status with release_label config' do
206
+ let(:gitx_config) do
207
+ {
208
+ 'release_label' => 'release-me'
209
+ }
210
+ end
211
+ before do
212
+ expect(repo).to receive(:workdir).and_return(temp_dir)
213
+ File.open(File.join(temp_dir, '.gitx.yml'), 'w') do |f|
214
+ f.puts gitx_config.to_yaml
215
+ end
216
+
217
+ expect(cli).to receive(:yes?).and_return(true)
218
+ expect(cli).to receive(:label_pull_request).with(having_attributes(number: 10), 'release-me').and_call_original
219
+ allow(cli).to receive(:authorization_token).and_return(authorization_token)
220
+
221
+ expect(executor).to_not receive(:execute).with('git', 'checkout', 'master')
222
+ expect(executor).to_not receive(:execute).with('git', 'pull', 'origin', 'master')
223
+ expect(executor).to_not receive(:execute).with('git', 'merge', '--no-ff', '--message', "[gitx] Release feature-branch to master\n\nConnected to #10", 'feature-branch')
224
+ expect(executor).to_not receive(:execute).with('git', 'push', 'origin', 'HEAD')
225
+
226
+ expect(executor).to receive(:execute).with('git', 'checkout', 'feature-branch').ordered
227
+ expect(executor).to receive(:execute).with('git', 'update').ordered
228
+ expect(executor).to receive(:execute).with('git integrate').ordered
229
+
230
+ VCR.use_cassette('pull_request_does_exist_with_success_status_and_then_add_label') do
231
+ cli.release
232
+ end
233
+ end
234
+ it 'runs expected commands' do
235
+ should meet_expectations
236
+ end
237
+ end
203
238
  end
204
239
  end
data/spec/spec_helper.rb CHANGED
@@ -8,7 +8,7 @@ require 'bundler/setup'
8
8
 
9
9
  # Requires supporting ruby files with custom matchers and macros, etc,
10
10
  # in spec/support/ and its subdirectories.
11
- Dir[File.join(__dir__, 'support/**/*.rb')].each { |f| require f }
11
+ Dir[File.join(__dir__, 'support/**/*.rb')].sort.each { |f| require f }
12
12
 
13
13
  # This file was generated by the `rspec --init` command. Conventionally, all
14
14
  # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitx
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.2
4
+ version: 3.2.0.ci.231.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Sonnek
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-27 00:00:00.000000000 Z
11
+ date: 2021-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: octokit
@@ -240,6 +240,7 @@ files:
240
240
  - lib/gitx/version.rb
241
241
  - spec/fixtures/vcr_cassettes/pull_request_does_exist_with_failure_status.yml
242
242
  - spec/fixtures/vcr_cassettes/pull_request_does_exist_with_success_status.yml
243
+ - spec/fixtures/vcr_cassettes/pull_request_does_exist_with_success_status_and_then_add_label.yml
243
244
  - spec/fixtures/vcr_cassettes/pull_request_does_not_exist.yml
244
245
  - spec/gitx/cli/base_command_spec.rb
245
246
  - spec/gitx/cli/buildtag_command_spec.rb
@@ -274,20 +275,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
274
275
  requirements:
275
276
  - - ">="
276
277
  - !ruby/object:Gem::Version
277
- version: '0'
278
+ version: 2.6.7
278
279
  required_rubygems_version: !ruby/object:Gem::Requirement
279
280
  requirements:
280
- - - ">="
281
+ - - ">"
281
282
  - !ruby/object:Gem::Version
282
- version: '0'
283
+ version: 1.3.1
283
284
  requirements: []
284
- rubygems_version: 3.1.2
285
+ rubygems_version: 3.0.8
285
286
  signing_key:
286
287
  specification_version: 4
287
288
  summary: Utility scripts for Git to increase productivity for common operations
288
289
  test_files:
289
290
  - spec/fixtures/vcr_cassettes/pull_request_does_exist_with_failure_status.yml
290
291
  - spec/fixtures/vcr_cassettes/pull_request_does_exist_with_success_status.yml
292
+ - spec/fixtures/vcr_cassettes/pull_request_does_exist_with_success_status_and_then_add_label.yml
291
293
  - spec/fixtures/vcr_cassettes/pull_request_does_not_exist.yml
292
294
  - spec/gitx/cli/base_command_spec.rb
293
295
  - spec/gitx/cli/buildtag_command_spec.rb