(#11798) Fix git checkout of revisions
authorMatt Robinson <matt@puppetlabs.com>
Thu, 19 Jan 2012 22:40:49 +0000 (14:40 -0800)
committerMatt Robinson <matt@puppetlabs.com>
Thu, 19 Jan 2012 23:20:40 +0000 (15:20 -0800)
commitb931190b329979cd59b1ca721152ed0430296d0a
treea3a7c5e50adf99757c59954cb23af7b6f761fb90
parentc3dabc322b33ed8dc3acc2dcfe05d58a3c21424b
(#11798) Fix git checkout of revisions

The git provider had some problems checking out SHA1s - it couldn't.
And what's worse, it lied about what it was doing saying that it did
checkout the SHA1.

There was also a bug where if you specified a different branch than you
were on, it was doing a `reset --hard` to the specified branch.  For
example, if master was checked out, and you set "revision => stable", it
would `git reset --hard stable` on the master branch instead of just
checking out stable.  Maybe the original author did this to get around
being unable to checkout when you had local changes, but the --force
flag to checkout will fix that.

With this change, you should now be able to specify a branch, tag, or
SHA1 in the revision attribute and have it work.
lib/puppet/provider/vcsrepo/git.rb