Code

git-svn: convert show-ignore over to Git::SVN
authorEric Wong <normalperson@yhbt.net>
Fri, 12 Jan 2007 01:58:39 +0000 (17:58 -0800)
committerEric Wong <normalperson@yhbt.net>
Fri, 23 Feb 2007 08:57:09 +0000 (00:57 -0800)
Signed-off-by: Eric Wong <normalperson@yhbt.net>
git-svn.perl

index 02786f1a6acc0c8b6cc8c276df9573e35a4db088..e0bccbcdc970d856db69033c60a2d84d790cc5b3 100755 (executable)
@@ -121,7 +121,7 @@ my %cmd = (
                        %cmt_opts, %fc_opts } ],
        'set-tree' => [ \&commit, "Set an SVN repository to a git tree-ish",
                        {       'stdin|' => \$_stdin, %cmt_opts, %fc_opts, } ],
-       'show-ignore' => [ \&show_ignore, "Show svn:ignore listings",
+       'show-ignore' => [ \&cmd_show_ignore, "Show svn:ignore listings",
                        { 'revision|r=i' => \$_revision } ],
        rebuild => [ \&rebuild, "Rebuild git-svn metadata (after git clone)",
                        { 'copy-remote|remote=s' => \$_cp_remote,
@@ -537,12 +537,10 @@ sub dcommit {
        command_noisy(@finish, $gs);
 }
 
-sub show_ignore {
-       $SVN_URL ||= file_to_s("$GIT_SVN_DIR/info/url");
-       my $repo;
-       $SVN ||= Git::SVN::Ra->new($SVN_URL);
-       my $r = defined $_revision ? $_revision : $SVN->get_latest_revnum;
-       libsvn_traverse_ignore(\*STDOUT, '', $r);
+sub cmd_show_ignore {
+       my $gs = Git::SVN->new;
+       my $r = (defined $_revision ? $_revision : $gs->ra->get_latest_revnum);
+       $gs->traverse_ignore(\*STDOUT, '', $r);
 }
 
 sub graft_branches {