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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7a79f2c472e34c9de110dc2c4c5b3de219b28c61
4
- data.tar.gz: b6bd3bbc36b8b27190d24ca79083cf902baeb4f6
3
+ metadata.gz: 6ee33b5c6b4680a49b08ed584e37b99eac0e0525
4
+ data.tar.gz: 332fc9991fe7c5bd3487e709ed5d3ae88e73ee73
5
5
  SHA512:
6
- metadata.gz: 2a4a5a14c98877756c9dde689cb23ae87657ae2ad272756d554e04f45bc7be1afb0282535cf34432c8d69e014a9a3c6afa2465621bf3a1b78a2d085b2513b159
7
- data.tar.gz: ef03eaae3f57a4235d9ad3d69c3c42cab64797f6f3b341ec4706d4f6c862f4ba5eb0e38ddd012bd43199ca1e8e1df369dde1543a81be349ca7790c5fe001e1dd
6
+ metadata.gz: 424a2c4f6bffd7feb7dc5318f40eb872129abe5275e176e472d9fd910e888409369057b319348e60299da29e7315d9fa39069092b95819efcfefcdfab28e03df
7
+ data.tar.gz: d809541caf8928acda45bb390db32e857f5ca6789c91b167ccd332021f57ccc27b9df25611fb4c6c31d3cac6c40736ecfe745199f41b26c503f1cd93b6facc40
@@ -1 +1 @@
1
- ruby-2.1.3
1
+ ruby-2.2.2
@@ -21,4 +21,8 @@ base_branch: master
21
21
  staging_branch: staging
22
22
  prototype_branch: prototype
23
23
 
24
+ aggregate_branches:
25
+ - prototype
26
+ - qa
27
+
24
28
  enforce_staging_before_release: true
@@ -104,7 +104,7 @@ module Socialcast
104
104
  end
105
105
 
106
106
  def track_branch(branch)
107
- run_cmd "git branch --set-upstream #{branch} origin/#{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
@@ -1,5 +1,5 @@
1
1
  module Socialcast
2
2
  module Gitx
3
- VERSION = "3.1.29"
3
+ VERSION = "3.1.30"
4
4
  end
5
5
  end
@@ -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.18.0'
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")
@@ -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 --set-upstream staging origin/staging",
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 == prototype and destination prompt == nil' do
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 prototype branch to last_known_good_prototype in socialcast/socialcast-git-extensions #scgitx\n/cc @SocialcastDevelopers"
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', 'prototype']
400
+ Socialcast::Gitx::CLI.start ['nuke', 'qa']
434
401
  end
435
- it 'defaults to last_known_good_prototype and should run expected commands' do
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 last_known_good_prototype",
405
+ "git branch -D last_known_good_qa",
439
406
  "git fetch origin",
440
- "git checkout last_known_good_prototype",
441
- "git branch -D prototype",
442
- "git push origin --delete prototype",
443
- "git checkout -b prototype",
444
- "git push origin prototype",
445
- "git branch --set-upstream prototype origin/prototype",
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 == prototype and destination prompt = master' do
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 prototype branch to last_known_good_master in socialcast/socialcast-git-extensions #scgitx\n/cc @SocialcastDevelopers"
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', 'prototype']
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 prototype",
464
- "git push origin --delete prototype",
465
- "git checkout -b prototype",
466
- "git push origin prototype",
467
- "git branch --set-upstream prototype origin/prototype",
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 last_known_good_prototype",
474
- "git push origin --delete last_known_good_prototype",
475
- "git checkout -b last_known_good_prototype",
476
- "git push origin last_known_good_prototype",
477
- "git branch --set-upstream last_known_good_prototype origin/last_known_good_prototype",
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
- context 'when target branch != staging || prototype' do
483
- it 'should raise error' do
484
- expect {
485
- expect_any_instance_of(Socialcast::Gitx::CLI).to receive(:ask).and_return('master')
486
- Socialcast::Gitx::CLI.start ['nuke', 'asdfasdf']
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.29
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-04-29 00:00:00.000000000 Z
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.18.0
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.18.0
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.2.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