summaryrefslogtreecommitdiff
path: root/lib/puppet/provider/vcsrepo/git.rb
AgeCommit message (Collapse)Author
2013-07-17Merge pull request #78 from jhoblitt/git_provider_checkout_remote_refsAaron Stone
fix git provider checkout of a remote ref on an existing repo
2013-07-17fix git provider checkout of a remote ref on an existing repoJoshua Hoblitt
Per discussion of https://github.com/puppetlabs/puppetlabs-vcsrepo/issues/51 in the git channel on freenode, EugeneKay <eugene@kashpureff.org> stated that `git rev-parse` is not capable of inspecting remote refs but that `git ls-remote` is. This patch makes a second attempt to resolve the ref with `ls-remote` if `rev-parse` fails. The git provider also appears to support several type features that are not tagged under `has_features`. It's not clear if this is the best way to resolve this issue or if the provider should be refactored to work with different type features. Demonstration of the problem with changing refs (branches and tags) $ git --version git version 1.7.1 $ cat master.pp branch.pp vcsrepo { '/tmp/vcsrepo': ensure => present, provider => git, source => 'https://github.com/puppetlabs/puppetlabs-vcsrepo.git', revision => 'master', } vcsrepo { '/tmp/vcsrepo': ensure => present, provider => git, source => 'https://github.com/puppetlabs/puppetlabs-vcsrepo.git', revision => 'feature/cvs', } $ puppet apply --modulepath=`pwd`/.. master.pp Notice: /Stage[main]//Vcsrepo[/tmp/vcsrepo]/ensure: Creating repository from present Notice: /Stage[main]//Vcsrepo[/tmp/vcsrepo]/ensure: created Notice: Finished catalog run in 2.19 seconds $ puppet apply --modulepath=`pwd`/.. branch.pp Error: /Stage[main]//Vcsrepo[/tmp/vcsrepo]: Could not evaluate: Execution of '/usr/bin/git rev-parse feature/cvs' returned 128: fatal: ambiguous argument 'feature/cvs': unknown revision or path not in the working tree. Use '--' to separate paths from revisions feature/cvs Notice: Finished catalog run in 1.69 seconds
2013-07-17WhitespaceAaron Stone
2013-07-17Unlimited sudmodule's nesting for git providerPaul Chechetin
2013-04-17add timeout to ssh sessions negotiation to prevent github problems (or any ↵Ramin K
other remote connection issues) from blocking the Puppet run
2013-03-20Merge pull request #58 from sim0nf/fix_regexBen Ford
Tighten regex to avoid matching the word 'commit' in message
2013-03-18Merge pull request #59 from binford2k/clone_as_non-root_userBen Ford
Allow non-root users to clone a repo Merging my own PR because it's just a rework of an existing PR.
2013-03-18Allow non-root users to clone a repoBen Ford
Without this, git will report that it can't change back to /root
2013-03-18Tighten regex to avoid matching the word 'commit' in messageSimon Forman
2013-03-12Merge pull request #56 from raphink/git_update_originBen Ford
Update origin if necessary before checking revision This looks good. Thanks!
2013-03-11Create the repository with proper permissions.Ben Ford
2013-03-06Update origin if necessary before checking revisionRaphaël Pinson
2012-10-18Add a dummy provider, remove 'defaultfor' from all other providers. Resolves ↵Aaron Stone
warning about multiple default providers for :vcsrepo.
2012-09-19(#16495, #15660) Fix regression for notifications and pulls on git providerKen Barber
The last merge: 4d2942edc26e7cd144a3178a1a7f6470ea401345 brought some regression that this patch should hopefully fix. Firstly, the tool no longer supported updating a branch as the syntax for git pull on anything but a branch was invalid. This also removes the extra call to 'checkout' which was causing behaviour to occur without notifying puppet, thus causing subscription notifications to not fire.
2012-06-29Run git operations as a specific user (puppetlabs ticket 4773), added ssh ↵Eric Hayes
options to ensure no prompting (also fixed in pull request #1 by riseuplabs), added ability to keep repository up to date with latest (puppetlabs ticket 11278)
2012-05-13Add the ability to specify a git remoteJesusaurus
Rather than fill the git provider with hard-coded references to origin, it would be better to abstract out which remote the resource is fetching from. But since this is only relevant to decentralized version-control systems, a multiple_remotes feature was added for the parameter to depend on. So far this is only implemented for git remotes, but it could be implemented for other VCSs as well.
2012-01-19(#11798) Fix git checkout of revisionsMatt Robinson
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.
2011-11-08Run update_owner_and_excludes after update_preferences and get_revisionScott O'Neil
These are called when the type is retrieve'd. Without this, the ownerships for any .git metafiles fetch'd durring the retrieve will be owned by root. This patch fixes that by invoking update_owner_and_excludes after fetch'ng
2011-11-03Fix (#10440) by making all commands optionalMatthias Pigulla
This will work around the issue in http://projects.puppetlabs.com/issues/6907, as the agent run will no longer fail if one of the commands is not installed. This gives you enough time to install the necessary packages through Puppet (make sure you get the dependencies right), as the agent won't fail unless you really start accessing the repository.
2011-07-27Updated for ruby 1.9. Not sure how important this actually is. Works on ↵Nate Mueller
both now.
2011-07-27Fixed an issue with 8e51aebd4cf77c7d68ee that broke git when you didn't ↵Nate Mueller
specify a revision
2011-07-27Add an identity param, respected by the git provider, to use a non-standard ↵Nate Mueller
ssh identity file
2011-06-06(#7797) Makes git tags actually work.Cody Herriges
Fixes a number of issues with the git provider. remote_branch_revision? method was always returning true because it would always at least return something, even if that something was a zero length array. You normally don't desire a tag to become a branch since it creates ambiguity so I removed that. latest method had no concept of (no branch) and so would fail if you switched to a remote branch or a tag. Then finally revision sha1 returned by 'git rev-parse' for tags is not the revision of the commit the tag represents. We have to use 'git show' and do some text parsing to actually figure out which commit goes with which tag.
2011-05-20git: Update submodules recursivelyAleksey Lim
2011-05-20git.rb: update_references before touching tags. tags created since last ↵Adam Gandelman
vcsrepo run fail otherwise
2010-09-14git: rework how to do excludesBrett Lentz
2010-09-14git: correct checking out latest revision of a branch.Brett Lentz
2010-09-13new features for vcsrepo.Brett Lentz
* support recursive chown on repo * support checking out tags (git) * support adding excludes/ignored files * dropped a few unused methods * rework git provider logic a bit
2010-08-14Support latest value for ensure property in git providerAleksey Lim
2010-07-29Git provider fails to create a repo if it does not existJames Turnbull
2010-06-01Fixed git provider to retrieve tagsJames Turnbull
2010-03-18Fix typo.Bruce Williams
Signed-off-by: Bruce Williams <bruce@codefluency.com>
2010-03-18Support different create and revision= operations depending on the revision ↵Bruce Williams
type in Git (commit, tag, or local/remote branch)
2010-03-18Add submodule support to git providerBruce Williams
2010-03-17Build ProviderExampleGroup for refactored provider testsBruce Williams
2010-03-15ensure = latest to support reference tracking.\n\nWorking with tags, more ↵Bruce Williams
work needed for branches (at least with git)
2010-03-14Make gzip compression and bare repositories explicit featuresBruce Williams
2010-03-13Basic Mercurial supportBruce Williams
2010-03-13Refactor common bits to abstract provider superclassBruce Williams
2010-03-13Handle special case when converting an empty bare repository to a working ↵Bruce Williams
copy repository
2010-03-13Some fixes after live testing, add support for bare cloned reposBruce Williams
2010-03-13Convert bare repos to working copy repos and vice-versaBruce Williams
2010-03-12Tests for Git revision property, cleanupBruce Williams
2010-03-12Basic SVN providerBruce Williams
2010-02-22Initial commitroot