class GitPrettyAccept::Transaction
Attributes
branch[R]
enable_autosquash[R]
let_user_edit_message[R]
Public Class Methods
new(branch, options = {})
click to toggle source
# File lib/git_pretty_accept/transaction.rb, line 7 def initialize(branch, options = {}) @branch = branch @let_user_edit_message = options[:edit] @enable_autosquash = options[:autosquash] end
Public Instance Methods
call()
click to toggle source
# File lib/git_pretty_accept/transaction.rb, line 31 def call commands.each_with_index do |command, i| info "\n#{command}" unless system(command) error "\nDue to the error above, " + "the following commands were not executed: " + commands[i + 1, commands.size].join("\n") exit! end end end
commands()
click to toggle source
# File lib/git_pretty_accept/transaction.rb, line 13 def commands [ "git fetch origin", "git rebase origin/#{source_branch}", "echo 'Confirming that #{source_branch} is not ahead of origin/#{source_branch}...'", "test `git rev-parse HEAD` = `git rev-parse origin/#{source_branch}`", "git checkout #{branch}", "git rebase origin/#{branch}", "git rebase origin/#{source_branch} #{autosquash_params}", "git push --force origin #{branch}", "git checkout #{source_branch}", MergeCommand.new(branch, let_user_edit_message).to_s, "git push origin #{source_branch}", "git branch -d #{branch}", "git push origin :#{branch}" ] end
source_branch()
click to toggle source
# File lib/git_pretty_accept/transaction.rb, line 43 def source_branch return @source_branch if @source_branch our = Git.open('.') @source_branch = our.branches.find(&:current).to_s end
Private Instance Methods
autosquash_params()
click to toggle source
# File lib/git_pretty_accept/transaction.rb, line 51 def autosquash_params enable_autosquash ? '-i --autosquash' : '' end