Stripping git on_branch? return value; contains trailing newline
authorMike Gerwitz <gerwitzm@lovullo.com>
Tue, 3 Dec 2013 14:54:21 +0000 (09:54 -0500)
committerMike Gerwitz <gerwitzm@lovullo.com>
Thu, 5 Dec 2013 02:02:20 +0000 (21:02 -0500)
This commit also contains git provider `latest' method formatting changes;
squashed by request.

lib/puppet/provider/vcsrepo/git.rb
spec/unit/puppet/provider/vcsrepo/git_spec.rb

index 17275c4..d488271 100644 (file)
@@ -39,10 +39,10 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo)
 
   def latest
     branch = on_branch?
-    if branch == ''
+    if !branch
       return get_revision('HEAD')
     else
-      return get_revision("#{@resource.value(:remote)}/%s" % branch)
+      return get_revision("#{@resource.value(:remote)}/#{branch}")
     end
   end
 
@@ -253,7 +253,7 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo)
   end
 
   def on_branch?
-    at_path { git_with_identity('rev-parse', '--abbrev-ref', 'HEAD') }
+    at_path { git_with_identity('rev-parse', '--abbrev-ref', 'HEAD').chomp }
   end
 
   def tags
index f3d9dd3..554645b 100644 (file)
@@ -296,6 +296,18 @@ describe Puppet::Type.type(:vcsrepo).provider(:git_provider) do
     end
   end
 
+  context "retrieving the current revision" do
+    before do
+      expects_chdir
+      provider.expects(:git).with('rev-parse', '--abbrev-ref', 'HEAD').returns("foo\n")
+    end
+
+    it "will strip trailing newlines" do
+      provider.expects(:get_revision).with('origin/foo')
+      provider.latest
+    end
+  end
+
   describe 'latest?' do
     before do
       expects_chdir('/tmp/test')