Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
git-svn: Cache results of running the executable "git config"
author
James Y Knight
<jknight@itasoftware.com>
Mon, 4 Apr 2011 19:09:08 +0000
(15:09 -0400)
committer
Eric Wong
<normalperson@yhbt.net>
Sat, 9 Apr 2011 22:43:35 +0000
(22:43 +0000)
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>
git-svn.perl
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
12a296b
)
diff --git
a/git-svn.perl
b/git-svn.perl
index e5a553f0078fb87d6aab01a5ece4ff2ab94a1c89..bf0451b46835357af7811096538e9e7d75311166 100755
(executable)
--- a/
git-svn.perl
+++ b/
git-svn.perl
@@
-59,6
+59,7
@@
sub _req_svn {
use Getopt::Long qw/:config gnu_getopt no_ignore_case auto_abbrev/;
use IPC::Open3;
use Git;
use Getopt::Long qw/:config gnu_getopt no_ignore_case auto_abbrev/;
use IPC::Open3;
use Git;
+use Memoize; # core since 5.8.0, Jul 2002
BEGIN {
# import functions from Git into our packages, en masse
BEGIN {
# import functions from Git into our packages, en masse
@@
-72,6
+73,8
@@
BEGIN
*{"${package}::$_"} = \&{"Git::$_"};
}
}
*{"${package}::$_"} = \&{"Git::$_"};
}
}
+ Memoize::memoize 'Git::config';
+ Memoize::memoize 'Git::config_bool';
}
my ($SVN);
}
my ($SVN);
@@
-3210,6
+3213,8
@@
sub has_no_changes {
Memoize::unmemoize 'check_cherry_pick';
Memoize::unmemoize 'has_no_changes';
}
Memoize::unmemoize 'check_cherry_pick';
Memoize::unmemoize 'has_no_changes';
}
+
+ Memoize::memoize 'Git::SVN::repos_root';
}
END {
}
END {