From 39cc91611d94a823fe079f7b9fe9d1652aee5458 Mon Sep 17 00:00:00 2001 From: rkiel Date: Fri, 29 Sep 2017 22:34:48 -0400 Subject: [PATCH] 1-join-leave: added --- lib/release/commander.rb | 2 ++ lib/release/join.rb | 24 ++++++++++++++++++++++++ lib/release/leave.rb | 23 +++++++++++++++++++++++ lib/shared/runnable.rb | 4 ++++ 4 files changed, 53 insertions(+) create mode 100644 lib/release/join.rb create mode 100644 lib/release/leave.rb diff --git a/lib/release/commander.rb b/lib/release/commander.rb index 44b08e2..c3067f4 100644 --- a/lib/release/commander.rb +++ b/lib/release/commander.rb @@ -8,6 +8,8 @@ module Release :create, :finish, :help, + :join, + :leave, :list, :start, :tab, diff --git a/lib/release/join.rb b/lib/release/join.rb new file mode 100644 index 0000000..499338f --- /dev/null +++ b/lib/release/join.rb @@ -0,0 +1,24 @@ +require_relative './base' + +module Release + + class Join < Release::Base + def valid? + argv.size == 2 + end + + def help + "release join version" + end + + def execute + subcommand, version = *argv + + validate_current_branch_master + git_pull current_branch + + git_checkout_track release_branch_from_version(version) + end + end + +end diff --git a/lib/release/leave.rb b/lib/release/leave.rb new file mode 100644 index 0000000..cdbd94f --- /dev/null +++ b/lib/release/leave.rb @@ -0,0 +1,23 @@ +require_relative './base' + +module Release + + class Leave < Release::Base + def valid? + argv.size == 1 + end + + def help + "release leave" + end + + def execute + validate_current_branch_is_release + + git_checkout "master" + + git_local_branch_trash current_branch + end + end + +end diff --git a/lib/shared/runnable.rb b/lib/shared/runnable.rb index d5ad327..1ea7593 100644 --- a/lib/shared/runnable.rb +++ b/lib/shared/runnable.rb @@ -83,6 +83,10 @@ module Shared run_cmd "git checkout -b #{branch} #{commit}" end + def git_checkout_track (branch) + run_cmd "git checkout --track origin/#{branch}" + end + def git_commit (message, force = false) message = force ? message+' (no-verify)' : message message = '"' + message + '"'