release: added patch
This commit is contained in:
@@ -22,7 +22,7 @@ module Feature
|
|||||||
|
|
||||||
feature_branch = current_branch
|
feature_branch = current_branch
|
||||||
|
|
||||||
error "invalid branch: #{merge_to_branch}" unless standard_branches.include? merge_to_branch
|
error "invalid branch: #{merge_to_branch}" unless standard_branches.include? merge_to_branch or merge_to_branch =~ /\d+\.\d+\.\d+/
|
||||||
|
|
||||||
git_checkout merge_to_branch
|
git_checkout merge_to_branch
|
||||||
git_pull merge_to_branch
|
git_pull merge_to_branch
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ module Feature
|
|||||||
feature_name = feature_words.join('-')
|
feature_name = feature_words.join('-')
|
||||||
feature_branch = "#{ENV['FEATURE_USER']||ENV['USER']}-#{current_branch}-#{feature_name}"
|
feature_branch = "#{ENV['FEATURE_USER']||ENV['USER']}-#{current_branch}-#{feature_name}"
|
||||||
|
|
||||||
error "invalid base branch: #{current_branch}" unless standard_branches.include? current_branch
|
error "invalid base branch: #{current_branch}" unless standard_branches.include? current_branch or current_branch =~ /\d+\.\d+\.\d+/
|
||||||
error "invalid feature branch: #{feature_name}" if standard_branches.include? feature_name
|
error "invalid feature branch: #{feature_name}" if standard_branches.include? feature_name
|
||||||
|
|
||||||
git_pull current_branch
|
git_pull current_branch
|
||||||
|
|||||||
@@ -6,7 +6,8 @@ module Release
|
|||||||
|
|
||||||
COMMANDS = [
|
COMMANDS = [
|
||||||
:help,
|
:help,
|
||||||
:init
|
:init,
|
||||||
|
:patch
|
||||||
].sort
|
].sort
|
||||||
|
|
||||||
DEFAULT = :help
|
DEFAULT = :help
|
||||||
|
|||||||
39
lib/release/patch.rb
Normal file
39
lib/release/patch.rb
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
require_relative './base'
|
||||||
|
|
||||||
|
module Release
|
||||||
|
|
||||||
|
class Patch < Release::Base
|
||||||
|
def valid?
|
||||||
|
argv.size > 1
|
||||||
|
end
|
||||||
|
|
||||||
|
def help
|
||||||
|
"release patch version"
|
||||||
|
end
|
||||||
|
|
||||||
|
def execute
|
||||||
|
subcommand, version, *extras = *argv
|
||||||
|
|
||||||
|
error "invalid version: #{version}" unless version =~ /\d+\.\d+\.\d+/
|
||||||
|
error "unknown version: #{git_local_list_tags.join(' ')}" unless git_local_list_tags.include? "v#{version}"
|
||||||
|
error "invalid base branch: #{current_branch}" unless standard_branches.include? current_branch
|
||||||
|
|
||||||
|
patch_branch = patch(version)
|
||||||
|
|
||||||
|
git_pull current_branch
|
||||||
|
|
||||||
|
git_local_branch_create patch_branch, "v#{version}"
|
||||||
|
|
||||||
|
git_push patch_branch
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def patch (version)
|
||||||
|
numbers = version.split('.').map { |x| x.to_i }
|
||||||
|
"#{numbers[0]}.#{numbers[1]}.#{numbers[2]+1}"
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
@@ -20,7 +20,7 @@ module Shared
|
|||||||
user = parts.shift
|
user = parts.shift
|
||||||
standard = parts.shift
|
standard = parts.shift
|
||||||
error "invalid user: #{user}" unless [ENV['FEATURE_USER'],ENV['USER']].include? user
|
error "invalid user: #{user}" unless [ENV['FEATURE_USER'],ENV['USER']].include? user
|
||||||
error "invalid branch: #{standard}" unless standard_branches.include? standard
|
error "invalid branch: #{standard}" unless standard_branches.include? standard or standard =~ /\d+\.\d+\.\d+/
|
||||||
feature = parts.join('-')
|
feature = parts.join('-')
|
||||||
{ user: user, standard: standard, feature: feature }
|
{ user: user, standard: standard, feature: feature }
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ module Shared
|
|||||||
end
|
end
|
||||||
|
|
||||||
def git_local_list_tags
|
def git_local_list_tags
|
||||||
`git tag -l 'v*'`.strip.split(/\s+/)
|
`git tag -l 'v*'`.strip.split(/\s+/).sort
|
||||||
end
|
end
|
||||||
|
|
||||||
def git_prune
|
def git_prune
|
||||||
@@ -71,8 +71,8 @@ module Shared
|
|||||||
run_cmd "git rebase #{branch}"
|
run_cmd "git rebase #{branch}"
|
||||||
end
|
end
|
||||||
|
|
||||||
def git_local_branch_create (branch)
|
def git_local_branch_create (branch, commit='')
|
||||||
run_cmd "git checkout -b #{branch}"
|
run_cmd "git checkout -b #{branch} #{commit}"
|
||||||
end
|
end
|
||||||
|
|
||||||
def git_commit (message, force = false)
|
def git_commit (message, force = false)
|
||||||
|
|||||||
Reference in New Issue
Block a user