Skip to content

Instantly share code, notes, and snippets.

@sousk
Forked from hotchpotch/git-ssh-create
Created February 9, 2011 05:53
Show Gist options
  • Save sousk/817972 to your computer and use it in GitHub Desktop.
Save sousk/817972 to your computer and use it in GitHub Desktop.
#!/usr/bin/env ruby
confbase = 'git-ssh-create'
init_command = 'git --bare init'
server = `git config --global #{confbase}.server`.chomp
if server.empty?
warn "Please set git config server."
warn " git config --global #{confbase}.server '[username@]yourserver.example.com'"
exit 1
end
repos = `git config --global #{confbase}.repos`.chomp
if repos.empty?
warn "Please set git config repos."
warn " git config --global #{confbase}.repos 'var/git/repos/'"
exit 1
end
full_repos = (repos + '/' + (ARGV[0] || File.basename(Dir.pwd))).gsub('//', '/') + '.git'
commands = ["ssh", server, "mkdir -p '#{full_repos}' && cd '#{full_repos}' && #{init_command}"]
puts "run"
p *commands
if system(*commands)
warn 'ssh publish successed!'
warn 'next:'
warn " git remote add origin #{server}:#{full_repos}"
warn " git push origin master"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment