fix for detached HEAD on git 2.4+
authorSamuel Keeley <samuel@dropbox.com>
Mon, 29 Jun 2015 19:01:10 +0000 (12:01 -0700)
committerSamuel Keeley <samuel@dropbox.com>
Mon, 29 Jun 2015 19:01:10 +0000 (12:01 -0700)
lib/puppet/provider/vcsrepo/git.rb

index 8074950..bf11f3d 100644 (file)
@@ -329,11 +329,13 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo)
     at_path { git_with_identity('branch', '-a') }.gsub('*', ' ').split(/\n/).map { |line| line.strip }
   end
 
+  # git < 2.4 returns 'detached from'
+  # git 2.4+ returns 'HEAD detached at'
   # @!visibility private
   def on_branch?
     at_path {
       matches = git_with_identity('branch', '-a').match /\*\s+(.*)/
-      matches[1] unless matches[1].match /(\(detached from|\(no branch)/
+      matches[1] unless matches[1].match /(\(detached from|\(HEAD detached at|\(no branch)/
     }
   end