#!/usr/bin/perl

$repo=$ARGV[0];
$repo=~s/\/\s*$//;

die if ($repo=~/^\s*$/);

$cgit='git://git.micw.org';
$pgit='ssh://git@git.micw.org:2234/home/git';

if (-d $repo) {
  if (yesno('overwrite existing directory?',0)) {
    &cmd("rm -rf $repo")  
  } else {
    exit;
  }
}

&cmd("git clone $cgit/$repo.git");
&cmd("cd $repo;git remote set-url origin $pgit/$repo.git");

sub cmd() {
  my($cmd,$quiet)=@_;
  print "$cmd\n" if (!$quiet);
  system($cmd);
}

sub yesno {
  my($prom,$def)=@_;
  my($ans);
  if ($def) {;$ans=&getkey("$prom Y/n ? ");}
  else {;$ans=&getkey("$prom y/N ? ");}
  if ($ans=~/^\s*$/) {
    if ($def) {;return(1);}
    else {;return(0);}
  }
  if ($ans=~/^\s*y\s*$/i || $ans=~/^\s*yes\s*$/i) {
    return 1;
  }
  return 0;
}

sub getkey {
  $|=1;
  print "$_[0]";
  system "stty", '-icanon', '-echo', 'eol', "\001";
  $key = getc(STDIN);$key=~s/[\r\n\t]//g;
  system "stty", 'icanon', 'echo', 'eol', "^@";
  print "$key\n";
  return $key;
}
