#!/usr/bin/env ruby

confbase = 'git-ssh-create'
init_command = 'git init --bare --shared=true'

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}"]
if system(*commands)
  warn 'ssh publish successed!'
  warn 'next:'
  warn " git remote add origin #{server}:#{full_repos}"
  warn " git push origin master"
end