From 27f76288e7eb4ca8d43e68e813ac7745a10a2798 Mon Sep 17 00:00:00 2001 From: rkiel Date: Fri, 29 Sep 2017 21:06:58 -0400 Subject: [PATCH] 2-start: renamed init to create, renamed versions to list, closed --- lib/release/base.rb | 4 ++++ lib/release/commander.rb | 6 +++--- lib/release/{init.rb => create.rb} | 6 +++--- lib/release/list.rb | 26 ++++++++++++++++++++++++++ lib/release/versions.rb | 21 --------------------- lib/shared/branchability.rb | 6 +++++- lib/shared/runnable.rb | 4 ++++ 7 files changed, 45 insertions(+), 28 deletions(-) rename lib/release/{init.rb => create.rb} (82%) create mode 100644 lib/release/list.rb delete mode 100644 lib/release/versions.rb diff --git a/lib/release/base.rb b/lib/release/base.rb index 602a217..60b3241 100644 --- a/lib/release/base.rb +++ b/lib/release/base.rb @@ -31,6 +31,10 @@ module Release git_local_list_tags(release_tag_prefix).join("\n") end + def show_existing_branches + git_local_list_branches(release_branch_prefix).join("\n") + end + def validate_version_format (version) error "Invalid version number format. Try using MAJOR.MINOR.PATCH." unless version =~ version_pattern end diff --git a/lib/release/commander.rb b/lib/release/commander.rb index 8389407..25a05cf 100644 --- a/lib/release/commander.rb +++ b/lib/release/commander.rb @@ -5,15 +5,15 @@ module Release class Commander COMMANDS = [ + :create, :finish, :help, - :init, + :list, :major, :minor, :patch, :tab, - :trash, - :versions + :trash ].sort DEFAULT = :help diff --git a/lib/release/init.rb b/lib/release/create.rb similarity index 82% rename from lib/release/init.rb rename to lib/release/create.rb index 30cef28..8c24a09 100644 --- a/lib/release/init.rb +++ b/lib/release/create.rb @@ -2,13 +2,13 @@ require_relative './base' module Release - class Init < Release::Base + class Create < Release::Base def valid? - argv.size > 1 + argv.size == 2 end def help - "release init version" + "release create version" end def execute diff --git a/lib/release/list.rb b/lib/release/list.rb new file mode 100644 index 0000000..0f2740e --- /dev/null +++ b/lib/release/list.rb @@ -0,0 +1,26 @@ +require_relative './base' + +module Release + + class List < Release::Base + def valid? + argv.size == 1 + end + + def help + "release list" + end + + def execute + validate_current_branch_master + git_pull current_branch + + puts + puts show_existing_tags + puts + puts show_existing_branches + puts + end + end + +end diff --git a/lib/release/versions.rb b/lib/release/versions.rb deleted file mode 100644 index 2a61d59..0000000 --- a/lib/release/versions.rb +++ /dev/null @@ -1,21 +0,0 @@ -require_relative './base' - -module Release - - class Versions < Release::Base - def valid? - true - end - - def help - "release versions" - end - - def execute - puts - puts show_existing_tags - puts - end - end - -end diff --git a/lib/shared/branchability.rb b/lib/shared/branchability.rb index 808bc10..ad366df 100644 --- a/lib/shared/branchability.rb +++ b/lib/shared/branchability.rb @@ -28,7 +28,11 @@ module Shared def release_tag_prefix 'v' end - + + def release_branch_prefix + 'rc' + end + def release_tag_from_version (version) "v#{version}" end diff --git a/lib/shared/runnable.rb b/lib/shared/runnable.rb index d3dc3b5..071bcca 100644 --- a/lib/shared/runnable.rb +++ b/lib/shared/runnable.rb @@ -47,6 +47,10 @@ module Shared `git tag -l '#{release_tag_prefix}*'`.strip.split(/\s+/).sort end + def git_local_list_branches (release_branch_prefix) + `git branch -a|grep 'remotes/origin/rc'`.strip.split(/\s+/).map {|x| x.sub('remotes/origin/','')}.sort + end + def git_prune run_cmd "git remote prune origin" end