[RFC/PATCH 2/1] fixup! git-svn: use YAML format for mergeinfo cache when possible
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- May 27, 2012, 19:48 UTC
- Message-ID
- <20120527194822.GA31460@burratino>
- In-Reply-To
- <20120527192541.GA29490@burratino>
Jonathan Nieder wrote:
> YAML::Any is not a core perl module. This patch uses it when and only > when it is available.
And here's a patch for squashing in that makes that true. Sorry for the confusion.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> --- git-svn.perl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git c/git-svn.perl i/git-svn.perl index 96b6046a..1b4ef68f 100755 --- c/git-svn.perl +++ i/git-svn.perl @@ -2042,7 +2042,11 @@ sub gc_directory { package Git::SVN::Memoize::YAML; use warnings; use strict; -use YAML::Any (); +my $usable; +BEGIN { + $Git::SVN::Memoize::YAML::usable = eval { require YAML::Any; 1 }; + require YAML::Any if $usable; +} # based on Memoize::Storable. @@ -2151,10 +2155,6 @@ use Time::Local; use Memoize; # core since 5.8.0, Jul 2002 use Memoize::Storable; use POSIX qw(:signal_h); -my $can_use_yaml; -BEGIN { - $can_use_yaml = eval { require YAML::Any; 1}; -} my ($_gc_nr, $_gc_period); @@ -3681,7 +3681,7 @@ sub tie_for_persistent_memoization { my $hash = shift; my $path = shift; - if ($can_use_yaml) { + if ($Git::SVN::Memoize::YAML::usable) { tie %$hash => 'Git::SVN::Memoize::YAML', "$path.yaml"; } else { tie %$hash => 'Memoize::Storable', "$path.db", 'nstore';