Sha256: 31ad6c2b41f9f277064f218f331831fbefdacdfc93abbc36253e58efbf6e8e74

Contents?: true

Size: 938 Bytes

Versions: 17

Compression:

Stored size: 938 Bytes

Contents

require 'git-utils/command'

class MergeBranch < Command

  def parser
    OptionParser.new do |opts|
      opts.banner = "Usage: git merge-branch [branch] [options]"
      opts.on_tail("-h", "--help", "this usage guide") do
        puts opts.to_s; exit 0
      end
    end
  end

  # Returns a command appropriate for executing at the command line
  # For example:
  #   git checkout master
  #   git merge --no-ff --log <branch>
  def cmd
    lines = ["git checkout #{target_branch}"]
    c = ["git merge --no-ff --log"]
    c << argument_string(unknown_options) unless unknown_options.empty?
    c << current_branch
    lines << c.join(' ')
    lines.join("\n")
  end

  private

    # Returns the name of the branch to be merged into.
    # If there is anything left in the known options after parsing,
    # that's the merge branch. Otherwise, it's master.
    def target_branch
      self.known_options.first || 'master'
    end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
git-utils-0.6.2 lib/git-utils/merge_branch.rb
git-utils-0.6.1 lib/git-utils/merge_branch.rb
git-utils-0.6.0 lib/git-utils/merge_branch.rb
git-utils-0.5.10 lib/git-utils/merge_branch.rb
git-utils-0.5.9 lib/git-utils/merge_branch.rb
git-utils-0.5.8 lib/git-utils/merge_branch.rb
git-utils-0.5.7 lib/git-utils/merge_branch.rb
git-utils-0.5.6 lib/git-utils/merge_branch.rb
git-utils-0.5.5 lib/git-utils/merge_branch.rb
git-utils-0.5.4 lib/git-utils/merge_branch.rb
git-utils-0.5.3 lib/git-utils/merge_branch.rb
git-utils-0.5.2 lib/git-utils/merge_branch.rb
git-utils-0.5.1 lib/git-utils/merge_branch.rb
git-utils-0.5.0 lib/git-utils/merge_branch.rb
git-utils-0.1.2 lib/git-utils/merge_branch.rb
git-utils-0.1.1 lib/git-utils/merge_branch.rb
git-utils-0.1.0 lib/git-utils/merge_branch.rb