class CommandLine::SubCommands::InitCommand
Public Class Methods
new(new_args, new_input_stream = STDIN)
click to toggle source
Calls superclass method
CommandLine::Command::new
# File lib/git/contest/command_line/sub_commands/init_command.rb, line 15 def initialize(new_args, new_input_stream = STDIN) super end
Public Instance Methods
define_options()
click to toggle source
# File lib/git/contest/command_line/sub_commands/init_command.rb, line 19 def define_options opt_parser.on "-d", "--defaults", "Use default branch naming conventions." do options[:defaults] = true end opt_parser.on "-f", "--force", "force setting of git-contest branches, even if already configured." do options[:force] = true end end
run()
click to toggle source
# File lib/git/contest/command_line/sub_commands/init_command.rb, line 34 def run if Git.contest_is_initialized && ! options[:force] puts "Already initialized for git-contest." puts "To force reinitialization, use: git contest init -f" exit 0 end # run commands if ! Git.do_no_echo 'rev-parse --git-dir' Git.do 'init' end # init main if Git.contest_has_master_configured master_branch = Git.do 'config --get git.contest.branch.master' elsif options[:defaults] master_branch = 'master' else master_branch = terminal.ask('Master branch name: ') do |q| q.default = 'master' end end if options[:defaults] prefix = 'contest' else prefix = terminal.ask('Prefix of contest branch name: ') do |q| q.default = 'contest' end end if Git.repo_is_headless Git.do 'symbolic-ref', 'HEAD', "\"refs/heads/#{master_branch}\"" Git.do 'commit --allow-empty --quiet -m "Initial commit"' end # save config Git.do 'config', 'git.contest.branch.master', master_branch Git.do 'config', 'git.contest.branch.prefix', prefix end
set_default_options()
click to toggle source
# File lib/git/contest/command_line/sub_commands/init_command.rb, line 29 def set_default_options options[:defaults] = false if options[:defaults].nil? options[:force] = false if options[:defaults].nil? end