socialcast-git-extensions 3.1.29 → 3.1.30

Sign up to get free protection for your applications and to get access to all the features.
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