feature-add-trash: force the delete of a branch
This commit is contained in:
@@ -13,6 +13,7 @@ module Feature
|
||||
@subcommand = case argv[0]
|
||||
when "start" then Feature::Start.new(argv)
|
||||
when "end" then Feature::End.new(argv)
|
||||
when "trash" then Feature::Trash.new(argv)
|
||||
when "rebase" then Feature::Rebase.new(argv)
|
||||
when "merge" then Feature::MergeTo.new(argv)
|
||||
else Feature::Branch.new(argv)
|
||||
|
||||
37
lib/feature/trash.rb
Normal file
37
lib/feature/trash.rb
Normal file
@@ -0,0 +1,37 @@
|
||||
require_relative './base'
|
||||
|
||||
module Feature
|
||||
|
||||
class Trash < Feature::Base
|
||||
def valid?
|
||||
argv.size == 1
|
||||
end
|
||||
|
||||
def help
|
||||
puts
|
||||
puts "USAGE: feature trash"
|
||||
puts
|
||||
exit
|
||||
end
|
||||
|
||||
def execute
|
||||
parts = parse_branch(current_branch)
|
||||
|
||||
standard_branch = parts[:standard]
|
||||
feature_branch = current_branch
|
||||
|
||||
error "invalid feature branch: #{feature_branch}" if standard_branches.include? feature_branch
|
||||
|
||||
git_checkout standard_branch
|
||||
|
||||
git_local_branch_trash feature_branch
|
||||
|
||||
if remote_branch(feature_branch) != ""
|
||||
git_remote_branch_delete feature_branch
|
||||
end
|
||||
|
||||
git_prune
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
@@ -35,6 +35,10 @@ module Shared
|
||||
run_cmd "git branch -d #{branch}"
|
||||
end
|
||||
|
||||
def git_local_branch_trash ( branch )
|
||||
run_cmd "git branch -D #{branch}"
|
||||
end
|
||||
|
||||
def git_prune
|
||||
run_cmd "git remote prune origin"
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user