feature-add-trash: force the delete of a branch

This commit is contained in:
rkiel
2015-06-06 08:35:35 -04:00
parent f939991f6f
commit 067b1b3ccc
3 changed files with 42 additions and 0 deletions

View File

@@ -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
View 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

View File

@@ -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