The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Changes 012
INSTALL 10
MANIFEST 12
META.json 5391
META.yml 5075
Makefile.PL 1416
README.mkdn 11
inc/CheckGitConfig.pm 033
lib/Git/Wrapper/Exception.pm 22
lib/Git/Wrapper/File/RawModification.pm 22
lib/Git/Wrapper/Log.pm 22
lib/Git/Wrapper/Status.pm 22
lib/Git/Wrapper/Statuses.pm 22
lib/Git/Wrapper.pm 1412
t/parse_args.t 04
15 files changed (This is a version diff) 144256
@@ -1,7 +1,19 @@
 Revision history for Git-Wrapper
 
+0.038     2014-10-29 10:35:40-07:00 America/Los_Angeles
+
+0.037     2014-08-13 12:43:00-05:00 America/Chicago
+
+        Fix 'git config' during install stuff (Graham Knop)
+
+0.036     2014-08-12 23:50:30-05:00 America/Chicago
+
+        Run 'git config' during install (Karen Etheridge)
+
 0.035     2014-07-30 07:25:21-07:00 America/Los_Angeles
 
+        Attempted fix for Win32 test fails
+
 0.034     2014-07-24 18:30:14-07:00 America/Los_Angeles
 
         Fix typo in minimum version required of File::pushd (Russell
@@ -1,4 +1,3 @@
-
 This is the Perl distribution Git-Wrapper.
 
 Installing Git-Wrapper is straightforward.
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.019.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.021.
 Changes
 INSTALL
 LICENSE
@@ -8,6 +8,7 @@ META.yml
 Makefile.PL
 README.md
 README.mkdn
+inc/CheckGitConfig.pm
 lib/Git/Wrapper.pm
 lib/Git/Wrapper/Exception.pm
 lib/Git/Wrapper/File/RawModification.pm
@@ -6,7 +6,7 @@
       "John SJ Anderson <genehack@genehack.org>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 5.019, CPAN::Meta::Converter version 2.141520",
+   "generated_by" : "Dist::Zilla version 5.021, CPAN::Meta::Converter version 2.142690",
    "license" : [
       "perl_5"
    ],
@@ -19,7 +19,8 @@
       "configure" : {
          "requires" : {
             "Devel::CheckBin" : "0",
-            "ExtUtils::MakeMaker" : "6.30"
+            "ExtUtils::MakeMaker" : "0",
+            "File::Spec" : "0"
          }
       },
       "develop" : {
@@ -71,7 +72,7 @@
          "web" : "https://github.com/genehack/Git-Wrapper"
       }
    },
-   "version" : "0.035",
+   "version" : "0.038",
    "x_Dist_Zilla" : {
       "perl" : {
          "version" : "5.020000"
@@ -79,73 +80,88 @@
       "plugins" : [
          {
             "class" : "Dist::Zilla::Plugin::GatherDir",
+            "config" : {
+               "Dist::Zilla::Plugin::GatherDir" : {
+                  "exclude_filename" : [
+                     "dist.ini"
+                  ],
+                  "exclude_match" : [
+                     "^release.*"
+                  ],
+                  "follow_symlinks" : "0",
+                  "include_dotfiles" : "0",
+                  "prefix" : "",
+                  "prune_directory" : [],
+                  "root" : "."
+               }
+            },
             "name" : "GatherDir",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::PruneCruft",
             "name" : "@Filter/PruneCruft",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::ManifestSkip",
             "name" : "@Filter/ManifestSkip",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
             "name" : "@Filter/MetaYAML",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::License",
             "name" : "@Filter/License",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExtraTests",
             "name" : "@Filter/ExtraTests",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExecDir",
             "name" : "@Filter/ExecDir",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::ShareDir",
             "name" : "@Filter/ShareDir",
-            "version" : "5.019"
-         },
-         {
-            "class" : "Dist::Zilla::Plugin::MakeMaker",
-            "config" : {
-               "Dist::Zilla::Role::TestRunner" : {
-                  "default_jobs" : 1
-               }
-            },
-            "name" : "@Filter/MakeMaker",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::Manifest",
             "name" : "@Filter/Manifest",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::TestRelease",
             "name" : "@Filter/TestRelease",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::ConfirmRelease",
             "name" : "@Filter/ConfirmRelease",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::UploadToCPAN",
             "name" : "@Filter/UploadToCPAN",
-            "version" : "5.019"
+            "version" : "5.021"
+         },
+         {
+            "class" : "inc::CheckGitConfig",
+            "config" : {
+               "Dist::Zilla::Role::TestRunner" : {
+                  "default_jobs" : 1
+               }
+            },
+            "name" : "=inc::CheckGitConfig",
+            "version" : null
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::NextVersion",
@@ -160,17 +176,24 @@
                }
             },
             "name" : "Git::NextVersion",
-            "version" : "2.023"
+            "version" : "2.025"
          },
          {
             "class" : "Dist::Zilla::Plugin::CheckBin",
+            "config" : {
+               "Dist::Zilla::Plugin::CheckBin" : {
+                  "command" : [
+                     "git"
+                  ]
+               }
+            },
             "name" : "CheckBin",
-            "version" : "0.002"
+            "version" : "0.005"
          },
          {
             "class" : "Dist::Zilla::Plugin::AutoPrereqs",
             "name" : "AutoPrereqs",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -181,7 +204,7 @@
                }
             },
             "name" : "Prereqs",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::Prereqs",
@@ -192,7 +215,7 @@
                }
             },
             "name" : "TestRecommends",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::GithubMeta",
@@ -202,37 +225,37 @@
          {
             "class" : "Dist::Zilla::Plugin::InstallGuide",
             "name" : "InstallGuide",
-            "version" : "1.200003"
+            "version" : "1.200005"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaConfig",
             "name" : "MetaConfig",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaJSON",
             "name" : "MetaJSON",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::NextRelease",
             "name" : "NextRelease",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::PkgVersion",
             "name" : "PkgVersion",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
             "name" : "PodSyntaxTests",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodCoverageTests",
             "name" : "PodCoverageTests",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodWeaver",
@@ -327,7 +350,7 @@
                }
             },
             "name" : "PodWeaver",
-            "version" : "4.005"
+            "version" : "4.006"
          },
          {
             "class" : "Dist::Zilla::Plugin::ReadmeMarkdownFromPod",
@@ -345,7 +368,7 @@
                "Dist::Zilla::Plugin::Git::Tag" : {
                   "branch" : null,
                   "signed" : 0,
-                  "tag" : "v0.035",
+                  "tag" : "v0.038",
                   "tag_format" : "v%v",
                   "tag_message" : "v%v",
                   "time_zone" : "local"
@@ -355,7 +378,7 @@
                }
             },
             "name" : "Git::Tag",
-            "version" : "2.023"
+            "version" : "2.025"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Commit",
@@ -378,62 +401,77 @@
                }
             },
             "name" : "Git::Commit",
-            "version" : "2.023"
+            "version" : "2.025"
          },
          {
             "class" : "Dist::Zilla::Plugin::Twitter",
             "name" : "Twitter",
-            "version" : "0.025"
+            "version" : "0.026"
          },
          {
             "class" : "Dist::Zilla::Plugin::Run::BeforeBuild",
+            "config" : {
+               "Dist::Zilla::Plugin::Run::Role::Runner" : {
+                  "run" : [
+                     "rm -f Makefile.PL"
+                  ]
+               }
+            },
             "name" : "Run::BeforeBuild",
-            "version" : "0.021"
+            "version" : "0.026"
          },
          {
             "class" : "Dist::Zilla::Plugin::Run::AfterBuild",
+            "config" : {
+               "Dist::Zilla::Plugin::Run::Role::Runner" : {
+                  "run" : [
+                     "cp %d/Makefile.PL ./",
+                     "git status --porcelain | grep \"M Makefile.PL\" && git commit -m \"auto-committed by dist.ini\" Makefile.PL || echo Makefile.PL up to date"
+                  ]
+               }
+            },
             "name" : "Run::AfterBuild",
-            "version" : "0.021"
+            "version" : "0.026"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":IncModules",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":MainModule",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":AllFiles",
-            "version" : "5.019"
+            "version" : "5.021"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":NoFiles",
-            "version" : "5.019"
+            "version" : "5.021"
          }
       ],
       "zilla" : {
@@ -441,7 +479,7 @@
          "config" : {
             "is_trial" : "0"
          },
-         "version" : "5.019"
+         "version" : "5.021"
       }
    }
 }
@@ -14,9 +14,10 @@ build_requires:
   Test::More: '0'
 configure_requires:
   Devel::CheckBin: '0'
-  ExtUtils::MakeMaker: '6.30'
+  ExtUtils::MakeMaker: '0'
+  File::Spec: '0'
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.019, CPAN::Meta::Converter version 2.141520'
+generated_by: 'Dist::Zilla version 5.021, CPAN::Meta::Converter version 2.142690'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -38,66 +39,77 @@ resources:
   bugtracker: https://github.com/genehack/Git-Wrapper/issues
   homepage: http://genehack.github.com/Git-Wrapper/
   repository: https://github.com/genehack/Git-Wrapper.git
-version: '0.035'
+version: '0.038'
 x_Dist_Zilla:
   perl:
     version: '5.020000'
   plugins:
     -
       class: Dist::Zilla::Plugin::GatherDir
+      config:
+        Dist::Zilla::Plugin::GatherDir:
+          exclude_filename:
+            - dist.ini
+          exclude_match:
+            - ^release.*
+          follow_symlinks: '0'
+          include_dotfiles: '0'
+          prefix: ''
+          prune_directory: []
+          root: .
       name: GatherDir
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::PruneCruft
       name: '@Filter/PruneCruft'
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::ManifestSkip
       name: '@Filter/ManifestSkip'
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::MetaYAML
       name: '@Filter/MetaYAML'
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::License
       name: '@Filter/License'
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::ExtraTests
       name: '@Filter/ExtraTests'
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::ExecDir
       name: '@Filter/ExecDir'
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::ShareDir
       name: '@Filter/ShareDir'
-      version: '5.019'
-    -
-      class: Dist::Zilla::Plugin::MakeMaker
-      config:
-        Dist::Zilla::Role::TestRunner:
-          default_jobs: 1
-      name: '@Filter/MakeMaker'
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::Manifest
       name: '@Filter/Manifest'
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::TestRelease
       name: '@Filter/TestRelease'
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::ConfirmRelease
       name: '@Filter/ConfirmRelease'
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::UploadToCPAN
       name: '@Filter/UploadToCPAN'
-      version: '5.019'
+      version: '5.021'
+    -
+      class: inc::CheckGitConfig
+      config:
+        Dist::Zilla::Role::TestRunner:
+          default_jobs: 1
+      name: =inc::CheckGitConfig
+      version: ~
     -
       class: Dist::Zilla::Plugin::Git::NextVersion
       config:
@@ -108,15 +120,19 @@ x_Dist_Zilla:
         Dist::Zilla::Role::Git::Repo:
           repo_root: .
       name: Git::NextVersion
-      version: '2.023'
+      version: '2.025'
     -
       class: Dist::Zilla::Plugin::CheckBin
+      config:
+        Dist::Zilla::Plugin::CheckBin:
+          command:
+            - git
       name: CheckBin
-      version: '0.002'
+      version: '0.005'
     -
       class: Dist::Zilla::Plugin::AutoPrereqs
       name: AutoPrereqs
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -124,7 +140,7 @@ x_Dist_Zilla:
           phase: runtime
           type: requires
       name: Prereqs
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::Prereqs
       config:
@@ -132,7 +148,7 @@ x_Dist_Zilla:
           phase: test
           type: recommends
       name: TestRecommends
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::GithubMeta
       name: GithubMeta
@@ -140,31 +156,31 @@ x_Dist_Zilla:
     -
       class: Dist::Zilla::Plugin::InstallGuide
       name: InstallGuide
-      version: '1.200003'
+      version: '1.200005'
     -
       class: Dist::Zilla::Plugin::MetaConfig
       name: MetaConfig
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::MetaJSON
       name: MetaJSON
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::NextRelease
       name: NextRelease
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::PkgVersion
       name: PkgVersion
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::PodSyntaxTests
       name: PodSyntaxTests
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::PodCoverageTests
       name: PodCoverageTests
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::PodWeaver
       config:
@@ -238,7 +254,7 @@ x_Dist_Zilla:
               name: '@Default/Legal'
               version: '4.006'
       name: PodWeaver
-      version: '4.005'
+      version: '4.006'
     -
       class: Dist::Zilla::Plugin::ReadmeMarkdownFromPod
       name: ReadmeMarkdownFromPod
@@ -253,14 +269,14 @@ x_Dist_Zilla:
         Dist::Zilla::Plugin::Git::Tag:
           branch: ~
           signed: 0
-          tag: v0.035
+          tag: v0.038
           tag_format: v%v
           tag_message: v%v
           time_zone: local
         Dist::Zilla::Role::Git::Repo:
           repo_root: .
       name: Git::Tag
-      version: '2.023'
+      version: '2.025'
     -
       class: Dist::Zilla::Plugin::Git::Commit
       config:
@@ -277,53 +293,62 @@ x_Dist_Zilla:
         Dist::Zilla::Role::Git::Repo:
           repo_root: .
       name: Git::Commit
-      version: '2.023'
+      version: '2.025'
     -
       class: Dist::Zilla::Plugin::Twitter
       name: Twitter
-      version: '0.025'
+      version: '0.026'
     -
       class: Dist::Zilla::Plugin::Run::BeforeBuild
+      config:
+        Dist::Zilla::Plugin::Run::Role::Runner:
+          run:
+            - 'rm -f Makefile.PL'
       name: Run::BeforeBuild
-      version: '0.021'
+      version: '0.026'
     -
       class: Dist::Zilla::Plugin::Run::AfterBuild
+      config:
+        Dist::Zilla::Plugin::Run::Role::Runner:
+          run:
+            - 'cp %d/Makefile.PL ./'
+            - 'git status --porcelain | grep "M Makefile.PL" && git commit -m "auto-committed by dist.ini" Makefile.PL || echo Makefile.PL up to date'
       name: Run::AfterBuild
-      version: '0.021'
+      version: '0.026'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':IncModules'
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':MainModule'
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':AllFiles'
-      version: '5.019'
+      version: '5.021'
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':NoFiles'
-      version: '5.019'
+      version: '5.021'
   zilla:
     class: Dist::Zilla::Dist::Builder
     config:
       is_trial: '0'
-    version: '5.019'
+    version: '5.021'
@@ -1,23 +1,28 @@
-use Devel::CheckBin;
-check_bin('git');
-
+# This Makefile.PL for Git-Wrapper was generated by
+# inc::CheckGitConfig <self>
+# and Dist::Zilla::Plugin::MakeMaker::Awesome 0.31.
+# Don't edit it but the dist.ini and plugins used to construct it.
 
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.019.
 use strict;
 use warnings;
 
-use 5.006;
-
-use ExtUtils::MakeMaker 6.30;
+# inserted by Dist::Zilla::Plugin::CheckBin 0.005
+use Devel::CheckBin;
+check_bin('git');
 
+require File::Spec;
+die 'git seems broken; maybe check your HOME environment variable?'
+    if system('git config --list >'.File::Spec->devnull);
 
+use ExtUtils::MakeMaker;
 
 my %WriteMakefileArgs = (
   "ABSTRACT" => "Wrap git(7) command-line interface",
   "AUTHOR" => "Hans Dieter Pearcey <hdp\@cpan.org>, Chris Prather <chris\@prather.org>, John SJ Anderson <genehack\@genehack.org>",
   "CONFIGURE_REQUIRES" => {
     "Devel::CheckBin" => 0,
-    "ExtUtils::MakeMaker" => "6.30"
+    "ExtUtils::MakeMaker" => 0,
+    "File::Spec" => 0
   },
   "DISTNAME" => "Git-Wrapper",
   "EXE_FILES" => [],
@@ -44,14 +49,15 @@ my %WriteMakefileArgs = (
     "Test::Exception" => 0,
     "Test::More" => 0
   },
-  "VERSION" => "0.035",
+  "VERSION" => "0.038",
   "test" => {
     "TESTS" => "t/*.t"
   }
 );
 
-
 my %FallbackPrereqs = (
+  "Devel::CheckBin" => 0,
+  "ExtUtils::MakeMaker" => 0,
   "File::Path" => 0,
   "File::Spec" => 0,
   "File::Temp" => 0,
@@ -71,7 +77,6 @@ my %FallbackPrereqs = (
   "warnings" => 0
 );
 
-
 unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
   delete $WriteMakefileArgs{TEST_REQUIRES};
   delete $WriteMakefileArgs{BUILD_REQUIRES};
@@ -82,6 +87,3 @@ delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
   unless eval { ExtUtils::MakeMaker->VERSION(6.52) };
 
 WriteMakefile(%WriteMakefileArgs);
-
-
-
@@ -4,7 +4,7 @@ Git::Wrapper - Wrap git(7) command-line interface
 
 # VERSION
 
-version 0.035
+version 0.038
 
 # SYNOPSIS
 
@@ -0,0 +1,33 @@
+package inc::CheckGitConfig;
+use Moose;
+extends 'Dist::Zilla::Plugin::MakeMaker::Awesome';
+
+# TODO: in future versions of MakeMaker::Awesome, we can do all this right
+# from dist.ini, so we don't have to subclass. pester ether.
+
+around _build_MakeFile_PL_template => sub {
+    my $orig = shift;
+    my $self = shift;
+
+my $git_check = <<GIT_CHECK;
+require File::Spec;
+die 'git seems broken; maybe check your HOME environment variable?'
+    if system('git config --list >'.File::Spec->devnull);
+
+GIT_CHECK
+
+    my $template = $self->$orig(@_);
+    $template =~ s/(?<=use warnings;\n\n)/$git_check/m;
+    return $template;
+};
+
+after register_prereqs => sub {
+    my $self = shift;
+
+    $self->zilla->register_prereqs(
+        { phase => 'configure' },
+        'File::Spec' => 0,
+    );
+};
+
+1;
@@ -1,6 +1,6 @@
 package Git::Wrapper::Exception;
 # ABSTRACT: Exception class for Git::Wrapper
-$Git::Wrapper::Exception::VERSION = '0.035';
+$Git::Wrapper::Exception::VERSION = '0.038';
 use 5.006;
 use strict;
 use warnings;
@@ -37,7 +37,7 @@ Git::Wrapper::Exception - Exception class for Git::Wrapper
 
 =head1 VERSION
 
-version 0.035
+version 0.038
 
 =head1 METHODS
 
@@ -1,6 +1,6 @@
 package Git::Wrapper::File::RawModification;
 # ABSTRACT: Modification of a file in a commit
-$Git::Wrapper::File::RawModification::VERSION = '0.035';
+$Git::Wrapper::File::RawModification::VERSION = '0.038';
 use 5.006;
 use strict;
 use warnings;
@@ -40,7 +40,7 @@ Git::Wrapper::File::RawModification - Modification of a file in a commit
 
 =head1 VERSION
 
-version 0.035
+version 0.038
 
 =head1 METHODS
 
@@ -1,6 +1,6 @@
 package Git::Wrapper::Log;
 # ABSTRACT: Log line of the Git
-$Git::Wrapper::Log::VERSION = '0.035';
+$Git::Wrapper::Log::VERSION = '0.038';
 use 5.006;
 use strict;
 use warnings;
@@ -48,7 +48,7 @@ Git::Wrapper::Log - Log line of the Git
 
 =head1 VERSION
 
-version 0.035
+version 0.038
 
 =head1 METHODS
 
@@ -4,7 +4,7 @@ use warnings;
 
 package Git::Wrapper::Status;
 # ABSTRACT: A specific status information in the Git
-$Git::Wrapper::Status::VERSION = '0.035';
+$Git::Wrapper::Status::VERSION = '0.038';
 my %modes = (
   M   => 'modified',
   A   => 'added',
@@ -52,7 +52,7 @@ Git::Wrapper::Status - A specific status information in the Git
 
 =head1 VERSION
 
-version 0.035
+version 0.038
 
 =head1 METHODS
 
@@ -1,6 +1,6 @@
 package Git::Wrapper::Statuses;
 # ABSTRACT: Multiple git statuses information
-$Git::Wrapper::Statuses::VERSION = '0.035';
+$Git::Wrapper::Statuses::VERSION = '0.038';
 use 5.006;
 use strict;
 use warnings;
@@ -43,7 +43,7 @@ Git::Wrapper::Statuses - Multiple git statuses information
 
 =head1 VERSION
 
-version 0.035
+version 0.038
 
 =head1 METHODS
 
@@ -4,7 +4,7 @@ use warnings;
 
 package Git::Wrapper;
 #ABSTRACT: Wrap git(7) command-line interface
-$Git::Wrapper::VERSION = '0.035';
+$Git::Wrapper::VERSION = '0.038';
 our $DEBUG=0;
 
 # Prevent ANSI color with extreme prejudice
@@ -310,21 +310,19 @@ sub _message_tempfile {
   return ( "file", '"'.$tmp->filename.'"' );
 }
 
-sub _munge_val {
+sub _opt_and_val {
   my( $name , $val ) = @_;
 
-  return $val eq '1'       ? ""
-    : length($name) == 1 ? $val
-      :                      "=$val";
-}
-
-sub _opt {
-  my $name = shift;
   $name =~ tr/_/-/;
-  return length($name) == 1
+  my $opt = length($name) == 1
     ? "-$name"
       : "--$name"
         ;
+
+  return
+      $val eq '1' ? ($opt)
+    : length($name) == 1 ? ($opt, $val)
+    :                      "$opt=$val";
 }
 
 sub _parse_args {
@@ -339,18 +337,18 @@ sub _parse_args {
       $stdin = delete $_->{-STDIN}
         if exists $_->{-STDIN};
 
-      for my $name ( keys %$_ ) {
+      for my $name ( sort keys %$_ ) {
         my $val = delete $_->{$name};
         next if $val eq '0';
 
         if ( $name =~ s/^-// ) {
-          push @pre_cmd , _opt( $name ) . _munge_val( $name , $val );
+          push @pre_cmd , _opt_and_val( $name , $val );
         }
         else {
           ( $name, $val ) = _message_tempfile( $val )
             if _win32_multiline_commit_msg( $cmd, $name, $val );
 
-          push @post_cmd , _opt( $name ) . _munge_val( $name , $val );
+          push @post_cmd , _opt_and_val( $name , $val );
         }
       }
     }
@@ -390,7 +388,7 @@ Git::Wrapper - Wrap git(7) command-line interface
 
 =head1 VERSION
 
-version 0.035
+version 0.038
 
 =head1 SYNOPSIS
 
@@ -44,6 +44,10 @@ my @data = (
     'git --pre=bar status --init file1 file2 file3 --post'
   ] ,
   [
+    [ 'status' , { -a => 1, -b => 'foo', -cd => 1, -ef => 'foo', g => 1, h => 'bar', ij => 1, jk => 'baz' } ] ,
+    'git -a -b foo --cd --ef=foo status -g -h bar --ij --jk=baz',
+  ] ,
+  [
     [ 'rev-list' , qw/ --all --not master / , { remotes => '*trunk*' } , qw/ -- filename / ] ,
     'git rev-list --all --not master --remotes=*trunk* -- filename'
   ],