socialcast-git-extensions 3.1.29 → 3.1.30
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 +4 -4
- data/.ruby-version +1 -1
- data/config/scgitx.yml +4 -0
- data/lib/socialcast-git-extensions/git.rb +2 -2
- data/lib/socialcast-git-extensions/version.rb +1 -1
- data/socialcast-git-extensions.gemspec +1 -1
- data/spec/cli_spec.rb +33 -68
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ee33b5c6b4680a49b08ed584e37b99eac0e0525
|
4
|
+
data.tar.gz: 332fc9991fe7c5bd3487e709ed5d3ae88e73ee73
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 424a2c4f6bffd7feb7dc5318f40eb872129abe5275e176e472d9fd910e888409369057b319348e60299da29e7315d9fa39069092b95819efcfefcdfab28e03df
|
7
|
+
data.tar.gz: d809541caf8928acda45bb390db32e857f5ca6789c91b167ccd332021f57ccc27b9df25611fb4c6c31d3cac6c40736ecfe745199f41b26c503f1cd93b6facc40
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-2.
|
1
|
+
ruby-2.2.2
|
data/config/scgitx.yml
CHANGED
@@ -104,7 +104,7 @@ module Socialcast
|
|
104
104
|
end
|
105
105
|
|
106
106
|
def track_branch(branch)
|
107
|
-
run_cmd "git branch
|
107
|
+
run_cmd "git branch -u #{branch} origin/#{branch}"
|
108
108
|
end
|
109
109
|
|
110
110
|
# integrate a branch into a destination aggregate branch
|
@@ -225,7 +225,7 @@ module Socialcast
|
|
225
225
|
end
|
226
226
|
|
227
227
|
def aggregate_branches
|
228
|
-
@aggregate_branches ||= [staging_branch, prototype_branch]
|
228
|
+
@aggregate_branches ||= ((config['aggregate_branches'] || []) + [staging_branch, prototype_branch]).uniq
|
229
229
|
end
|
230
230
|
|
231
231
|
def reserved_branches
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.add_runtime_dependency 'rake', '~> 10.3'
|
23
23
|
s.add_development_dependency 'rspec', '~> 3.0.0'
|
24
24
|
s.add_development_dependency 'pry', '~> 0.9.12.6'
|
25
|
-
s.add_development_dependency 'webmock', '~> 1.
|
25
|
+
s.add_development_dependency 'webmock', '~> 1.21'
|
26
26
|
|
27
27
|
s.files = `git ls-files`.split("\n")
|
28
28
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
data/spec/cli_spec.rb
CHANGED
@@ -23,6 +23,7 @@ describe Socialcast::Gitx::CLI do
|
|
23
23
|
end
|
24
24
|
|
25
25
|
Socialcast::Gitx::CLI.stubbed_executed_commands = []
|
26
|
+
allow_any_instance_of(Socialcast::Gitx::CLI).to receive(:say)
|
26
27
|
allow_any_instance_of(Socialcast::Gitx::CLI).to receive(:current_branch).and_return('FOO')
|
27
28
|
allow_any_instance_of(Socialcast::Gitx::CLI).to receive(:current_user).and_return('wireframe')
|
28
29
|
allow(Socialcast::CommandLine).to receive(:credentials).and_return(:domain => 'testdomain', :user => 'testuser', :password => 'testpassword', :scgitx_token => 'faketoken')
|
@@ -370,40 +371,6 @@ describe Socialcast::Gitx::CLI do
|
|
370
371
|
end
|
371
372
|
|
372
373
|
describe '#nuke' do
|
373
|
-
context 'when target branch == prototype and --destination == master' do
|
374
|
-
before do
|
375
|
-
prototype_branches = %w( dev-foo dev-bar dev-baz )
|
376
|
-
master_branches = %w( dev-foo )
|
377
|
-
expect_any_instance_of(Socialcast::Gitx::CLI).to receive(:branches).and_return(prototype_branches, master_branches, prototype_branches, master_branches)
|
378
|
-
stub_message "#worklog resetting prototype branch to last_known_good_master in socialcast/socialcast-git-extensions #scgitx\n/cc @SocialcastDevelopers\n\nThe following branches were affected:\n* dev-bar\n* dev-baz"
|
379
|
-
Socialcast::Gitx::CLI.start ['nuke', 'prototype', '--destination', 'master']
|
380
|
-
end
|
381
|
-
it 'should publish message into socialcast' do end # see expectations
|
382
|
-
it 'should run expected commands' do
|
383
|
-
expect(Socialcast::Gitx::CLI.stubbed_executed_commands).to eq([
|
384
|
-
"git checkout master",
|
385
|
-
"git branch -D last_known_good_master",
|
386
|
-
"git fetch origin",
|
387
|
-
"git checkout last_known_good_master",
|
388
|
-
"git branch -D prototype",
|
389
|
-
"git push origin --delete prototype",
|
390
|
-
"git checkout -b prototype",
|
391
|
-
"git push origin prototype",
|
392
|
-
"git branch --set-upstream prototype origin/prototype",
|
393
|
-
"git checkout master",
|
394
|
-
"git checkout master",
|
395
|
-
"git branch -D last_known_good_master",
|
396
|
-
"git fetch origin",
|
397
|
-
"git checkout last_known_good_master",
|
398
|
-
"git branch -D last_known_good_prototype",
|
399
|
-
"git push origin --delete last_known_good_prototype",
|
400
|
-
"git checkout -b last_known_good_prototype",
|
401
|
-
"git push origin last_known_good_prototype",
|
402
|
-
"git branch --set-upstream last_known_good_prototype origin/last_known_good_prototype",
|
403
|
-
"git checkout master"
|
404
|
-
])
|
405
|
-
end
|
406
|
-
end
|
407
374
|
context 'when target branch == staging and --destination == last_known_good_staging' do
|
408
375
|
before do
|
409
376
|
stub_message "#worklog resetting staging branch to last_known_good_staging in socialcast/socialcast-git-extensions #scgitx\n/cc @SocialcastDevelopers"
|
@@ -420,39 +387,39 @@ describe Socialcast::Gitx::CLI do
|
|
420
387
|
"git push origin --delete staging",
|
421
388
|
"git checkout -b staging",
|
422
389
|
"git push origin staging",
|
423
|
-
"git branch
|
390
|
+
"git branch -u staging origin/staging",
|
424
391
|
"git checkout master"
|
425
392
|
])
|
426
393
|
end
|
427
394
|
end
|
428
|
-
context 'when target branch ==
|
395
|
+
context 'when target branch == qa and destination prompt == nil and using custom aggregate_branches config' do
|
429
396
|
before do
|
430
|
-
stub_message "#worklog resetting
|
431
|
-
|
397
|
+
stub_message "#worklog resetting qa branch to last_known_good_qa in socialcast/socialcast-git-extensions #scgitx\n/cc @SocialcastDevelopers"
|
398
|
+
allow_any_instance_of(Socialcast::Gitx::CLI).to receive(:config).and_return( { 'aggregate_branches' => ['staging', 'qa'] })
|
432
399
|
expect_any_instance_of(Socialcast::Gitx::CLI).to receive(:ask).and_return('')
|
433
|
-
Socialcast::Gitx::CLI.start ['nuke', '
|
400
|
+
Socialcast::Gitx::CLI.start ['nuke', 'qa']
|
434
401
|
end
|
435
|
-
it 'defaults to
|
402
|
+
it 'defaults to last_known_good_qa and should run expected commands' do
|
436
403
|
expect(Socialcast::Gitx::CLI.stubbed_executed_commands).to eq([
|
437
404
|
"git checkout master",
|
438
|
-
"git branch -D
|
405
|
+
"git branch -D last_known_good_qa",
|
439
406
|
"git fetch origin",
|
440
|
-
"git checkout
|
441
|
-
"git branch -D
|
442
|
-
"git push origin --delete
|
443
|
-
"git checkout -b
|
444
|
-
"git push origin
|
445
|
-
"git branch
|
407
|
+
"git checkout last_known_good_qa",
|
408
|
+
"git branch -D qa",
|
409
|
+
"git push origin --delete qa",
|
410
|
+
"git checkout -b qa",
|
411
|
+
"git push origin qa",
|
412
|
+
"git branch -u qa origin/qa",
|
446
413
|
"git checkout master"
|
447
414
|
])
|
448
415
|
end
|
449
416
|
end
|
450
|
-
context 'when target branch ==
|
417
|
+
context 'when target branch == qa and destination prompt = master and using custom aggregate_branches config' do
|
451
418
|
before do
|
452
|
-
stub_message "#worklog resetting
|
453
|
-
|
419
|
+
stub_message "#worklog resetting qa branch to last_known_good_master in socialcast/socialcast-git-extensions #scgitx\n/cc @SocialcastDevelopers"
|
420
|
+
allow_any_instance_of(Socialcast::Gitx::CLI).to receive(:config).and_return( { 'aggregate_branches' => ['staging', 'qa'] })
|
454
421
|
expect_any_instance_of(Socialcast::Gitx::CLI).to receive(:ask).and_return('master')
|
455
|
-
Socialcast::Gitx::CLI.start ['nuke', '
|
422
|
+
Socialcast::Gitx::CLI.start ['nuke', 'qa']
|
456
423
|
end
|
457
424
|
it 'should run expected commands' do
|
458
425
|
expect(Socialcast::Gitx::CLI.stubbed_executed_commands).to eq([
|
@@ -460,32 +427,30 @@ describe Socialcast::Gitx::CLI do
|
|
460
427
|
"git branch -D last_known_good_master",
|
461
428
|
"git fetch origin",
|
462
429
|
"git checkout last_known_good_master",
|
463
|
-
"git branch -D
|
464
|
-
"git push origin --delete
|
465
|
-
"git checkout -b
|
466
|
-
"git push origin
|
467
|
-
"git branch
|
430
|
+
"git branch -D qa",
|
431
|
+
"git push origin --delete qa",
|
432
|
+
"git checkout -b qa",
|
433
|
+
"git push origin qa",
|
434
|
+
"git branch -u qa origin/qa",
|
468
435
|
"git checkout master",
|
469
436
|
"git checkout master",
|
470
437
|
"git branch -D last_known_good_master",
|
471
438
|
"git fetch origin",
|
472
439
|
"git checkout last_known_good_master",
|
473
|
-
"git branch -D
|
474
|
-
"git push origin --delete
|
475
|
-
"git checkout -b
|
476
|
-
"git push origin
|
477
|
-
"git branch
|
440
|
+
"git branch -D last_known_good_qa",
|
441
|
+
"git push origin --delete last_known_good_qa",
|
442
|
+
"git checkout -b last_known_good_qa",
|
443
|
+
"git push origin last_known_good_qa",
|
444
|
+
"git branch -u last_known_good_qa origin/last_known_good_qa",
|
478
445
|
"git checkout master"
|
479
446
|
])
|
480
447
|
end
|
481
448
|
end
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
}.to raise_error(/Only aggregate branches are allowed to be reset/)
|
488
|
-
end
|
449
|
+
it 'raises an error when target branch is not an aggregate branch' do
|
450
|
+
expect {
|
451
|
+
expect_any_instance_of(Socialcast::Gitx::CLI).to receive(:ask).and_return('master')
|
452
|
+
Socialcast::Gitx::CLI.start ['nuke', 'asdfasdf']
|
453
|
+
}.to raise_error(/Only aggregate branches are allowed to be reset/)
|
489
454
|
end
|
490
455
|
end
|
491
456
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: socialcast-git-extensions
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.30
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Sonnek
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: grit
|
@@ -128,14 +128,14 @@ dependencies:
|
|
128
128
|
requirements:
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: 1.
|
131
|
+
version: '1.21'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: 1.
|
138
|
+
version: '1.21'
|
139
139
|
description: GIT it done!
|
140
140
|
email:
|
141
141
|
- ryan@socialcast.com
|
@@ -208,7 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
208
208
|
version: '0'
|
209
209
|
requirements: []
|
210
210
|
rubyforge_project: socialcast-git-extensions
|
211
|
-
rubygems_version: 2.
|
211
|
+
rubygems_version: 2.4.6
|
212
212
|
signing_key:
|
213
213
|
specification_version: 4
|
214
214
|
summary: git extension scripts for socialcast workflow
|