Xu Xiaodong avatar Xu Xiaodong committed d208754

add init repository support

Comments (0)

Files changed (1)

 #!/usr/bin/env perl
 #
-# name:      create a bitbucket repository from the command line
+# name:      bbcreate, create a bitbucket repository from the command line
 # author:    Xu Xiaodong <xxdlhy@gmail.com>
 # license:   GPL
 # created:   2011 Apr 13
-# modified:  2011 Apr 13
+# modified:  2011 Apr 28
 #
 
 use Modern::Perl;
 
 if ($name) {
     create( $name, $desc, $is_private );
+    init($name);
 }
 else {
-    die <<USAGE;
+    die <<"USAGE";
 Usage: $0 -n <name> [-d <desc>] [-p]
 
     -n, --name name         Repository name
 sub account {
     my ( $user, $pass );
 
-    open my ($in_fh), '<', "$ENV{HOME}/.hgrc" or die "Can't open .hgrc: $!\n";
+    open my ($in_fh), '<', "$ENV{HOME}/.hgrc"
+        or die "Can't open .hgrc: $!\n";
 
     while (<$in_fh>) {
-        next if /^[#;]/;
-        next if /^\s*$/;
+        next if /\A[#;]/;
+        next if /\A\s*\Z/;
 
         $user = $1 if /\.username\s+=\s+(.*)\Z/;
         $pass = $1 if /\.password\s+=\s+(.*)\Z/;
     }
 
+    close $in_fh;
+
     return ( $user, $pass );
-
-    close $in_fh;
 }
 
 sub create {
     }
 }
 
+sub init {
+    my ($repo) = @_;
+    my $user   = (account())[0];
+    my $url    = "https://bitbucket.org/$user/$repo";
+
+    system 'hg', 'clone', $url;
+}
+
 # vim: ai:et:ts=4:sw=4:tw=78:ft=perl
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.