[Bps-public-commit] Config-GitLike branch, master, updated. 1.16

Alex Vandiver alexmv at bestpractical.com
Mon Feb 16 19:48:40 EST 2015


The branch, master has been updated
       via  b216a660b0a85f6e65d3abdc877a89e374205cd2 (commit)
       via  970b59b2c4c8bf128510977f4519a16749a8bed2 (commit)
      from  a9a007c5c9a1427185dc3918bf171640ac4e67ed (commit)

Summary of changes:
 Changes               | 5 +++++
 lib/Config/GitLike.pm | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

- Log -----------------------------------------------------------------
commit 970b59b2c4c8bf128510977f4519a16749a8bed2
Author: Alex Vandiver <alexmv at bestpractical.com>
Date:   Mon Feb 16 19:43:18 2015 -0500

    Further canonicalize after resolvin relative paths
    
    On Windows, Cwd::abs_path() returns a path that uses / as its directory
    separator.  This means that after loading from a fully-qualified
    \-separated path, that same path does not appear in the origins hash.
    
    Canonicalize the path using File::Spec->canonpath(), which does not
    inspect the filesystem, but does normalize path separators.

diff --git a/lib/Config/GitLike.pm b/lib/Config/GitLike.pm
index e8ae9c1..0204750 100644
--- a/lib/Config/GitLike.pm
+++ b/lib/Config/GitLike.pm
@@ -198,6 +198,7 @@ sub load_file {
     $filename =~ s/^~/$ENV{'HOME'}/g;
     $filename = eval { Cwd::abs_path( File::Spec->rel2abs($filename, $args{relative}) ) }
         || $filename;
+    $filename = File::Spec->canonpath( $filename );
 
     return $self->data if grep {$_ eq $filename} @{$self->config_files}
         and not $args{force};

commit b216a660b0a85f6e65d3abdc877a89e374205cd2
Author: Alex Vandiver <alexmv at bestpractical.com>
Date:   Mon Feb 16 19:47:59 2015 -0500

    Version 1.16 releng

diff --git a/Changes b/Changes
index 4f5544b..cbc9246 100644
--- a/Changes
+++ b/Changes
@@ -1,5 +1,10 @@
 Revision history for perl module Config::GitLike
 
+1.16 2015-02-16
+ - Canonicalize paths using File::Spec->canonpath; this addresses
+   failures on Windows where /-separated paths were stored in the
+   origins hash, due to Cwd::abs_path returning them
+
 1.15 2014-06-24
  - Cope with Cwd::abs_path dying on non-existant paths on Windows
 
diff --git a/lib/Config/GitLike.pm b/lib/Config/GitLike.pm
index 0204750..81e99de 100644
--- a/lib/Config/GitLike.pm
+++ b/lib/Config/GitLike.pm
@@ -8,7 +8,7 @@ use Scalar::Util qw(openhandle);
 use Fcntl qw(O_CREAT O_EXCL O_WRONLY);
 use 5.008;
 
-our $VERSION = '1.15';
+our $VERSION = '1.16';
 
 
 has 'confname' => (

-----------------------------------------------------------------------


More information about the Bps-public-commit mailing list