diff options
Diffstat (limited to 'src/gitjoe-newrepo.pl')
-rwxr-xr-x | src/gitjoe-newrepo.pl | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/src/gitjoe-newrepo.pl b/src/gitjoe-newrepo.pl index 1bc5a06..c574b9e 100755 --- a/src/gitjoe-newrepo.pl +++ b/src/gitjoe-newrepo.pl @@ -8,13 +8,16 @@ sub main { my $argc = $#ARGV + 1; if ($argc < 2) { print colored("Failed!\n", 'bold red') - . "Missing argument, 2 needed " - . colored("[user - reponame]", 'bold') + . "Missing argument, at least 2 needed " + . colored("[user - reponame - (description)]", 'bold') . "\n"; exit 1; } my $usr = $ARGV[0]; my $repo = $ARGV[1]; + if ($argc >= 3) { + my $desc = $ARGV[2]; + } my $home_dir = '/usr/home/' . $usr . '/'; if (substr($repo, -4) ne '.git') { $repo = $repo . '.git'; @@ -63,6 +66,26 @@ sub main { '-c', '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . $repo . 'url' ); + if ($argc >= 3) { + open(my $desc_fh, '>:encoding(utf-8)', $home_dir . $repo . 'description'); + print $desc_fh $desc; + close($desc_fh); + system( + '/usr/local/bin/dash', + '-c', + '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . $repo . 'desc' + ); + } + else { + open(my $desc_fh, '>:encoding(utf-8)', $home_dir . $repo . 'description'); + print $desc_fh 'No description yet'; + close($desc_fh); + system( + '/usr/local/bin/dash', + '-c', + '/usr/sbin/chown -v ' . $usr . ':' . $usr . ' ' . $home_dir . $repo . 'desc' + ); + } exit; } |