Sha256: 1d571e32f743dbb582db104778b30e305394502cfa19b7ad923f430e0e3df77b

Contents?: true

Size: 948 Bytes

Versions: 3

Compression:

Stored size: 948 Bytes

Contents

require 'pivotal-github/command'

class StoryMerge < Command

  def parser
    OptionParser.new do |opts|
      opts.banner = "Usage: git story-merge [options]"
      opts.on("-d", "--development BRANCH",
              "development branch (defaults to master)") do |opt|
        self.options.development = opt
      end
      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 <story branch>
  def cmd
    lines = ["git checkout #{development_branch}"]
    c = ['git merge --no-ff --log']
    c << argument_string(unknown_options) unless unknown_options.empty?
    c << story_branch
    lines << c.join(' ')
    lines.join("\n")
  end

  def run!
    system cmd
  end

  private

    def development_branch
      options.development || 'master'
    end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pivotal-github-0.6.4 lib/pivotal-github/story_merge.rb
pivotal-github-0.6.3 lib/pivotal-github/story_merge.rb
pivotal-github-0.6.2 lib/pivotal-github/story_merge.rb