threads / patch / 4701

patchMake git-svn init accept a target dir

Subject: [patch] Make git-svn init accept a target dir

## tl;dr

3 messages between Jun 28, 2006 and Jun 29, 2006. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Luca Barbato· Jun 28, 2006, 23:07 UTC · lore

Since I'm lazy I just hacked a bit git-svn in order to create a target dir and init it if is passed as second parameter.

git-svn init url://to/the/repo local-repo

will create the local-repo dir if doesn't exist yet and populate it as expected.

Maybe someone else could find it useful
lu
-- 
Luca Barbato

Gentoo/linux Gentoo/PPC
http://dev.gentoo.org/~lu_zero
Eric Wong· Jun 29, 2006, 00:28 UTC · re: Luca Barbato · lore

Re: [patch] Make git-svn init accept a target dir

Luca Barbato <lu_zero@gentoo.org> wrote:
Show 9 quoted lines
> Since I'm lazy I just hacked a bit git-svn in order to create a target
> dir and init it if is passed as second parameter.
> 
> git-svn init url://to/the/repo local-repo
> 
> will create the local-repo dir if doesn't exist yet and populate it as
> expected.
> 
> Maybe someone else could find it useful

Sounds useful and I'll probably accept it, but I don't see the actual patch, though...

-- 
Eric Wong
Luca Barbato· Jun 29, 2006, 00:41 UTC · re: Eric Wong · lore

Re: [patch] Make git-svn init accept a target dir

Eric Wong wrote:
> 
> Sounds useful and I'll probably accept it, but I don't see the actual
> patch, though...
> 
ops...
-- 
Luca Barbato

Gentoo/linux Gentoo/PPC
http://dev.gentoo.org/~lu_zero



--- /usr/bin/git-svn	2006-06-29 00:57:26.000000000 +0200
+++ /usr/bin/git-svn.new	2006-06-28 03:40:11.000000000 +0200
@@ -5,7 +5,7 @@
 use strict;
 use vars qw/	$AUTHOR $VERSION
 		$SVN_URL $SVN_INFO $SVN_WC $SVN_UUID
-		$GIT_SVN_INDEX $GIT_SVN
+		$GIT_SVN_INDEX $GIT_SVN $REPO_PATH
 		$GIT_DIR $REV_DIR/;
 $AUTHOR = 'Eric Wong <normalperson@yhbt.net>';
 $VERSION = '1.1.0-pre';
@@ -98,6 +98,7 @@
 $GIT_SVN ||= $ENV{GIT_SVN_ID} || 'git-svn';
 $GIT_SVN_INDEX = "$GIT_DIR/$GIT_SVN/index";
 $SVN_URL = undef;
+$REPO_PATH = undef;
 $REV_DIR = "$GIT_DIR/$GIT_SVN/revs";
 $SVN_WC = "$GIT_DIR/$GIT_SVN/tree";
 
@@ -227,6 +228,16 @@
 sub init {
 	$SVN_URL = shift or die "SVN repository location required " .
 				"as a command-line argument\n";
+        $REPO_PATH = shift;
+        
+        if ($REPO_PATH) {
+            unless (-d $REPO_PATH) {
+                mkpath([$REPO_PATH]);
+            }
+            $GIT_DIR=$REPO_PATH . "/.git";
+            $ENV{GIT_DIR}=$GIT_DIR;
+        }
+
 	unless (-d $GIT_DIR) {
 		sys('git-init-db');
 	}

← back to recent threads