Sha256: fa9679c062157a2da51f8f7db24c4e0139e0016f4971d17a90816c7525e24185

Contents?: true

Size: 846 Bytes

Versions: 13

Compression:

Stored size: 846 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::Git

unless branch_name = ARGV.first
  example_branch = %w{ api-fix-invalid-auth desktop-cleanup-avatar-markup share-form-add-edit-link }.sort_by { rand }.first
  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? (ex: #{example_branch})") {|q| 
      q.validate = Proc.new { |branch|
        branch =~ /^[A-Za-z0-9\-_]+$/ && !remote_branches.include?(branch)
      }
    }
  end
end

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

share "#worklog starting work on #{branch_name} #scgitx"

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
socialcast-git-extensions-2.3.11 bin/git-start
socialcast-git-extensions-2.3.10 bin/git-start
socialcast-git-extensions-2.3.9 bin/git-start
socialcast-git-extensions-2.3.8 bin/git-start
socialcast-git-extensions-2.3.7 bin/git-start
socialcast-git-extensions-2.3.6 bin/git-start
socialcast-git-extensions-2.3.5 bin/git-start
socialcast-git-extensions-2.3.4 bin/git-start
socialcast-git-extensions-2.3.3 bin/git-start
socialcast-git-extensions-2.3.2 bin/git-start
socialcast-git-extensions-2.3.1 bin/git-start
socialcast-git-extensions-2.3.0 bin/git-start
socialcast-git-extensions-2.2.13 bin/git-start