created republish

This commit is contained in:
Robert Kiel
2018-08-31 13:47:04 -04:00
committed by GitHub
parent b8702161e4
commit ad83eac3ea

48
lib/feature/republish.rb Normal file
View File

@@ -0,0 +1,48 @@
require_relative './base'
module Feature
class Republish < Feature::Base
def valid?
argv.size == 1
end
def help
"feature republish"
end
def execute
parts = parse_branch(current_branch)
standard_branch = parts[:standard]
feature_branch = current_branch
remote_branch = remote_branch(feature_branch)
error "USAGE: feature republish" unless standard_branch
error "invalid feature branch: #{feature_branch}" if standard_branches.include? feature_branch
git_checkout standard_branch
git_fetch
git_pull standard_branch
git_checkout feature_branch
git_rebase standard_branch
if remote_branch != ""
git_remote_branch_delete feature_branch
end
git_push feature_branch
version = package_json_version('0.0.0-0')
tags = `git tag -l`.strip.split("\n").select {|x| x.start_with? version}
tags = tags.map {|x| x =~ /^\d+.\d+.\d+[-]\d+$/ ? x.split('-').last : '0'}
tags = tags.map {|x| x.to_i }
tags << 0
new_number = tags.uniq.max + 1
git_local_tag "#{version}-#{new_number}"
git_push_tags
end
end
end