@matheusbsbs / matheus-bagliano / commits / f5549afd5d
Fork 0

git-svn: Cache results of running the executable "git config"

Running programs is not cheap! Signed-off-by: James Y Knight <jknight@itasoftware.com> Signed-off-by: Alejandro R. Sedeño <asedeno@mit.edu> Acked-by: Eric Wong <normalperson@yhbt.net>

James Y Knight committed Apr 4, 2011 at 15:09 UTC f5549afd5d6c5492176b6fa21769c59bfe8e1d70
1 file changed +5
git-svn.perl
+5
@@ -59,6 +59,7 @@ use File::Find;
59 use Getopt::Long qw/:config gnu_getopt no_ignore_case auto_abbrev/;
60 use IPC::Open3;
61 use Git;
62 +use Memoize; # core since 5.8.0, Jul 2002
63
64 BEGIN {
65 # import functions from Git into our packages, en masse
@@ -72,6 +73,8 @@ BEGIN {
73 *{"${package}::$_"} = \&{"Git::$_"};
74 }
75 }
76 + Memoize::memoize 'Git::config';
77 + Memoize::memoize 'Git::config_bool';
78 }
79
80 my ($SVN);
@@ -3210,6 +3213,8 @@ sub has_no_changes {
3213 Memoize::unmemoize 'check_cherry_pick';
3214 Memoize::unmemoize 'has_no_changes';
3215 }
3216 +
3217 + Memoize::memoize 'Git::SVN::repos_root';
3218 }
3219
3220 END {