git-svn: allow a local target directory to be specified for init
git-svn init url://to/the/repo local-repo will create the local-repo dirrectory if doesn't exist yet and populate it as expected. Original patch by Luca Barbato, cleaned up and made to work for the current version of git-svn by me (Eric Wong). Signed-off-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
committed by
Junio C Hamano
parent
560b25a86f
commit
03e0ea8712
@@ -264,9 +264,19 @@ when you have upgraded your tools and habits to use refs/remotes/$GIT_SVN
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub init {
|
sub init {
|
||||||
$SVN_URL = shift or die "SVN repository location required " .
|
my $url = shift or die "SVN repository location required " .
|
||||||
"as a command-line argument\n";
|
"as a command-line argument\n";
|
||||||
$SVN_URL =~ s!/+$!!; # strip trailing slash
|
$url =~ s!/+$!!; # strip trailing slash
|
||||||
|
|
||||||
|
if (my $repo_path = shift) {
|
||||||
|
unless (-d $repo_path) {
|
||||||
|
mkpath([$repo_path]);
|
||||||
|
}
|
||||||
|
$GIT_DIR = $ENV{GIT_DIR} = $repo_path . "/.git";
|
||||||
|
init_vars();
|
||||||
|
}
|
||||||
|
|
||||||
|
$SVN_URL = $url;
|
||||||
unless (-d $GIT_DIR) {
|
unless (-d $GIT_DIR) {
|
||||||
my @init_db = ('git-init-db');
|
my @init_db = ('git-init-db');
|
||||||
push @init_db, "--template=$_template" if defined $_template;
|
push @init_db, "--template=$_template" if defined $_template;
|
||||||
|
|||||||
Reference in New Issue
Block a user