From: "Michael G. Schwern" <schw...@pobox.com>

* Load Git command functions on its own.
* Load Git::SVN modules on its own.

Drive by refactorings...
* Use our() instead of use vars.
* Eliminate the auto loading of Git functions.
---
 git-svn.perl | 36 ++++++++++++++++++++++++------------
 1 file changed, 24 insertions(+), 12 deletions(-)

diff --git a/git-svn.perl b/git-svn.perl
index 7c8da44..db60984 100755
--- a/git-svn.perl
+++ b/git-svn.perl
@@ -14,6 +14,18 @@ use Git::SVN;
 use Git::SVN::Log;
 use Git::SVN::Utils qw(fatal can_compress);
 
+use Git qw(
+    git_cmd_try
+    command
+    command_oneline
+    command_noisy
+    command_output_pipe
+    command_close_pipe
+    command_bidi_pipe
+    command_close_bidi_pipe
+);
+
+
 # From which subdir have we been invoked?
 my $cmd_dir_prefix = eval {
        command_oneline([qw/rev-parse --show-prefix/], STDERR => 0)
@@ -75,7 +87,6 @@ use File::Spec;
 use File::Find;
 use Getopt::Long qw/:config gnu_getopt no_ignore_case auto_abbrev/;
 use IPC::Open3;
-use Git;
 use Git::SVN::Editor qw//;
 use Git::SVN::Fetcher qw//;
 use Git::SVN::Ra qw//;
@@ -83,16 +94,6 @@ use Git::SVN::Prompt qw//;
 use Memoize;  # core since 5.8.0, Jul 2002
 
 BEGIN {
-       # import functions from Git into our packages, en masse
-       no strict 'refs';
-       foreach (qw/command command_oneline command_noisy command_output_pipe
-                   command_input_pipe command_close_pipe
-                   command_bidi_pipe command_close_bidi_pipe/) {
-               for my $package ( qw(Git::SVN::Migration),
-                       __PACKAGE__) {
-                       *{"${package}::$_"} = \&{"Git::$_"};
-               }
-       }
        Memoize::memoize 'Git::config';
        Memoize::memoize 'Git::config_bool';
 }
@@ -2080,7 +2081,14 @@ use warnings;
 use Carp qw/croak/;
 use File::Path qw/mkpath/;
 use File::Basename qw/dirname basename/;
-use vars qw/$_minimize/;
+
+our $_minimize;
+use Git qw(
+       command
+       command_noisy
+       command_output_pipe
+       command_close_pipe
+);
 
 sub migrate_from_v0 {
        my $git_dir = $ENV{GIT_DIR};
@@ -2189,6 +2197,7 @@ sub migrate_from_v2 {
        read_old_urls(\%l_map, '', "$ENV{GIT_DIR}/svn");
        my $migrated = 0;
 
+       require Git::SVN;
        foreach my $ref_id (sort keys %l_map) {
                eval { Git::SVN->init($l_map{$ref_id}, '', undef, $ref_id) };
                if ($@) {
@@ -2200,6 +2209,9 @@ sub migrate_from_v2 {
 }
 
 sub minimize_connections {
+       require Git::SVN;
+       require Git::SVN::Ra;
+
        my $r = Git::SVN::read_all_remotes();
        my $new_urls = {};
        my $root_repos = {};
-- 
1.7.11.1

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to