diff options
Diffstat (limited to 'src/gitjoe')
-rwxr-xr-x | src/gitjoe/mvrepo.pl | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/gitjoe/mvrepo.pl b/src/gitjoe/mvrepo.pl new file mode 100755 index 0000000..968fdbc --- /dev/null +++ b/src/gitjoe/mvrepo.pl @@ -0,0 +1,38 @@ +#!/usr/local/bin/perl + +use strict; +use warnings; +use File::Copy; +use Term::ANSIColor; + +use constant HOME_DIR => '/usr/local/git/'; + +sub main +{ + my $argc = $#ARGV + 1; + if ($argc < 3) { + print colored("Failed!\n", 'bold red') + . "Missing argument, 3 needed " + . colored("[user - reponame - new name]", 'bold') + . "\n"; + exit 1; + } + my $usr = $ARGV[0]; + my $repo = $ARGV[1]; + my $newname = $ARGV[2]; + my $home_dir = HOME_DIR . $usr . '/'; + if (substr($repo, -4) ne '.git') { + $repo .= '.git'; + } + if (substr($newname, -4) ne '.git') { + $newname .= '.git'; + } + move($home_dir . $repo, $home_dir . $newname); + print "Changed git repository " . colored($repo, 'bold green') + . " name to " . colored($newname, 'bold green') . " for user " . colored($usr, 'bold') . ".\n"; + exit; +} + +main(); + +__END__ |