Sha256: b08254473d6a8a3ed611c6ce83767e13bd6a32e50c71f1a18e1ec5dad510b3fc
Contents?: true
Size: 1.56 KB
Versions: 2
Compression:
Stored size: 1.56 KB
Contents
module GitPrettyAccept class Transaction include Methadone::CLILogging attr_reader :branch, :let_user_edit_message, :enable_autosquash def initialize(branch, options = {}) @branch = branch @let_user_edit_message = options[:edit] @enable_autosquash = options[:autosquash] end 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 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 def source_branch return @source_branch if @source_branch our = Git.open('.') @source_branch = our.branches.find(&:current).to_s end private def autosquash_params enable_autosquash ? '-i --autosquash' : '' end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
git_pretty_accept-1.0.0 | lib/git_pretty_accept/transaction.rb |
git_pretty_accept-0.5.0 | lib/git_pretty_accept/transaction.rb |