Class: Thegarage::Gitx::Cli::NukeCommand
- Inherits:
-
BaseCommand
- Object
- Thor
- BaseCommand
- Thegarage::Gitx::Cli::NukeCommand
- Defined in:
- lib/thegarage/gitx/cli/nuke_command.rb
Instance Method Summary collapse
Methods inherited from BaseCommand
Methods included from Thor::Actions
Constructor Details
This class inherits a constructor from Thegarage::Gitx::Cli::BaseCommand
Instance Method Details
#nuke(bad_branch) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/thegarage/gitx/cli/nuke_command.rb', line 11 def nuke(bad_branch) good_branch = [:destination] || ask("What branch do you want to reset #{bad_branch} to? (default: #{bad_branch})") good_branch = bad_branch if good_branch.length == 0 last_known_good_tag = current_build_tag(good_branch) return unless yes?("Reset #{bad_branch} to #{last_known_good_tag}? (y/n)", :green) assert_aggregate_branch!(bad_branch) return if migrations_need_to_be_reverted?(bad_branch, last_known_good_tag) say "Resetting " say "#{bad_branch} ", :green say "branch to " say last_known_good_tag, :green checkout_branch Thegarage::Gitx::BASE_BRANCH run_cmd "git branch -D #{bad_branch}", :allow_failure => true run_cmd "git push origin --delete #{bad_branch}", :allow_failure => true run_cmd "git checkout -b #{bad_branch} #{last_known_good_tag}" run_cmd "git push origin #{bad_branch}" run_cmd "git branch --set-upstream-to origin/#{bad_branch}" checkout_branch Thegarage::Gitx::BASE_BRANCH end |