Skip to content

Commit

Permalink
git-svn: add 'clone' command, an alias for init + fetch
Browse files Browse the repository at this point in the history
Signed-off-by: Eric Wong <[email protected]>
  • Loading branch information
Eric Wong committed Feb 23, 2007
1 parent b7e5348 commit 0425ea9
Showing 1 changed file with 20 additions and 1 deletion.
21 changes: 20 additions & 1 deletion git-svn.perl
Original file line number Diff line number Diff line change
@@ -90,6 +90,9 @@ BEGIN
{ 'revision|r=s' => \$_revision,
'fetch-all|all' => \$_fetch_all,
%fc_opts } ],
clone => [ \&cmd_clone, "Initialize and fetch revisions",
{ 'revision|r=s' => \$_revision,
%fc_opts, %init_opts } ],
init => [ \&cmd_init, "Initialize a repo for tracking" .
" (requires URL argument)",
\%init_opts ],
@@ -167,7 +170,7 @@ BEGIN
version() if $_version;
usage(1) unless defined $cmd;
load_authors() if $_authors;
unless ($cmd =~ /^(?:init|multi-init|commit-diff)$/) {
unless ($cmd =~ /^(?:clone|init|multi-init|commit-diff)$/) {
Git::SVN::Migration::migration_check();
}
Git::SVN::init_vars();
@@ -237,6 +240,22 @@ sub init_subdir {
$ENV{GIT_DIR} = $repo_path . "/.git";
}

sub cmd_clone {
my ($url, $path) = @_;
if (!defined $path &&
(defined $_trunk || defined $_branches || defined $_tags) &&
$url !~ m#^[a-z\+]+://#) {
$path = $url;
}
warn "--path: $path\n" if defined $path;
$path = basename($url) if !defined $path || !length $path;
warn "++path: $path\n" if defined $path;
mkpath([$path]);
chdir $path or die "Couldn't chdir to $path\n";
cmd_init(@_);
Git::SVN::fetch_all($Git::SVN::default_repo_id);
}

sub cmd_init {
if (defined $_trunk || defined $_branches || defined $_tags) {
return cmd_multi_init(@_);

0 comments on commit 0425ea9

Please sign in to comment.