Sha256: 7f753c649790116b8fd633388541aa63157441d739ebf84bebd4c170f69a6c48

Contents?: true

Size: 917 Bytes

Versions: 9

Compression:

Stored size: 917 Bytes

Contents

#!/usr/bin/env ruby

#start a new git branch with latest changes from master

require File.join(File.dirname(__FILE__), '..', 'lib', 'socialcast-git-extensions.rb')
include Socialcast

is_quiet = ARGV.delete("--quiet") || ARGV.delete("-q")
tickets = tickets_from_arguments ARGV
raise "JIRA ticket id is required to run this process" unless tickets.any?

repo = Grit::Repo.new(Dir.pwd)
remote_branches = repo.remotes.collect {|b| b.name.split('/').last }
until branch_name = HighLine.ask("What would you like to name your branch?") {|q| 
    q.validate = Proc.new { |branch|
      branch =~ /^[A-Za-z0-9\-_]+$/ && !remote_branches.include?(branch)
    }
  }
end

run_cmd 'git checkout master'
run_cmd 'git pull'
run_cmd "git checkout -b #{branch_name}"

update_tickets tickets, :branch => branch_name
start_tickets tickets

run_cmd "socialcast share '#worklog starting work on #{branch_name} #scgitx'" unless is_quiet

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
socialcast-git-extensions-2.0.4 bin/git-start
socialcast-git-extensions-2.0.3 bin/git-start
socialcast-git-extensions-2.0.2 bin/git-start
socialcast-git-extensions-2.0.1 bin/git-start
socialcast-git-extensions-2.0.0 bin/git-start
socialcast-git-extensions-2.0.0.beta4 bin/git-start
socialcast-git-extensions-2.0.0.beta3 bin/git-start
socialcast-git-extensions-2.0.0.beta2 bin/git-start
socialcast-git-extensions-2.0.0.beta1 bin/git-start