diff options
author | Eric Wong <normalperson@yhbt.net> | 2007-02-01 03:59:07 -0800 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2007-02-23 00:57:11 -0800 |
commit | 88cf4107eb70cdcdc226f2385a3ee54fb428c41d (patch) | |
tree | 76215e69157faf12cfa520361433f180549183db | |
parent | d8115c5104dbee29433a7f33a3e0d3e1738a581e (diff) | |
download | git-88cf4107eb70cdcdc226f2385a3ee54fb428c41d.tar.gz git-88cf4107eb70cdcdc226f2385a3ee54fb428c41d.tar.xz |
git-svn: save paths to tags/branches with for future reuse
Signed-off-by: Eric Wong <normalperson@yhbt.net>
-rwxr-xr-x | git-svn.perl | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/git-svn.perl b/git-svn.perl index a2db73fe0..ad2ef53f8 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -469,6 +469,8 @@ sub complete_url_ls_init { my $r = defined $_revision ? $_revision : $ra->get_latest_revnum; my ($dirent, undef, undef) = $ra->get_dir($repo_path, $r); my $url = $ra->{url}; + my $remote_id; + my $remote_path; foreach my $d (sort keys %$dirent) { next if ($dirent->{$d}->kind != $SVN::Node::dir); my $path = "$repo_path/$d"; @@ -477,8 +479,17 @@ sub complete_url_ls_init { # don't try to init already existing refs unless ($gs) { print "init $url/$path => $ref\n"; - Git::SVN->init($url, $path, undef, $ref); + $gs = Git::SVN->init($url, $path, undef, $ref); } + $remote_id ||= $gs->{repo_id} if $gs; + } + if (defined $remote_id) { + $remote_path = "$ra->{svn_path}/$repo_path/*"; + $remote_path =~ s#/+#/#g; + $remote_path =~ s#^/##g; + my ($n) = ($switch =~ /^--(\w+)/); + command_noisy('config', "svn-remote.$remote_id.$n", + $remote_path); } } |