feature-add-trash: force the delete of a branch
This commit is contained in:
@@ -13,6 +13,7 @@ module Feature
|
|||||||
@subcommand = case argv[0]
|
@subcommand = case argv[0]
|
||||||
when "start" then Feature::Start.new(argv)
|
when "start" then Feature::Start.new(argv)
|
||||||
when "end" then Feature::End.new(argv)
|
when "end" then Feature::End.new(argv)
|
||||||
|
when "trash" then Feature::Trash.new(argv)
|
||||||
when "rebase" then Feature::Rebase.new(argv)
|
when "rebase" then Feature::Rebase.new(argv)
|
||||||
when "merge" then Feature::MergeTo.new(argv)
|
when "merge" then Feature::MergeTo.new(argv)
|
||||||
else Feature::Branch.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}"
|
run_cmd "git branch -d #{branch}"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def git_local_branch_trash ( branch )
|
||||||
|
run_cmd "git branch -D #{branch}"
|
||||||
|
end
|
||||||
|
|
||||||
def git_prune
|
def git_prune
|
||||||
run_cmd "git remote prune origin"
|
run_cmd "git remote prune origin"
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user