summaryrefslogtreecommitdiff
path: root/lib/puppet/provider/vcsrepo
AgeCommit message (Collapse)Author
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-07-16Added ssh identityArnoud de Jonge
hg_with_identity function renamed to hg_wrapper. Added ability to specify a user and an SSH identity. Added extra options to the ssh command. Identity and user fixed Requirement for pp deleted.
2013-07-13WhitespaceAaron Stone
2013-07-13Merge pull request #40 from ajohnstone/masterAaron Stone
Handle force in svn args
2013-07-13Merge pull request #61 from hholzgra/masterAaron Stone
"ensure => latest" support for bzr
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-23"ensure => latest" support for bzrHartmut Holzgraefe
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-11-14Handle arg force for svnAndrew Johnstone
2012-10-19Merge branch 'master' into dummy-providerAaron Stone
Conflicts: lib/puppet/provider/vcsrepo/cvs.rb spec/support/fixture_helpers.rb spec/unit/puppet/provider/vcsrepo/cvs_spec.rb
2012-10-19Dummy provider raises an exception if it is used. Tests to prove it.Aaron Stone
2012-10-18Remove excess whitespace.Aaron Stone
2012-10-18Merge pull request #30 from ghoneycutt/noticket/master/inappropriate_whitespaceGary Larizza
Removes trailing whitespace
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-08-29Removes trailing whitespaceGarrett Honeycutt
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-23Merge pull request #24 from jesusaurus/feature/gitJames Turnbull
Add the ability to specify a git remote
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-03-18add begin/except for hg pull (mercurial 2.1 returns 1 for hg pull when no ↵Andreas Gerstmayr
changes are found; this change gets reverted in mercurial 2.1.1)
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-12-26Merge pull request #15 from webfactory/fix_10787James Turnbull
Fix (#10787) - Various fixes/tweaks for the CVS provider
2011-11-26Merge pull request #13 from webfactory/cvs_module_nameJames Turnbull
Suggested fix for (#10751) by adding a "module" parameter
2011-11-19Added missing 'working_copy_exists?' method.Marc Fournier
2011-11-12Merge pull request #12 from webfactory/fix_9083James Turnbull
Fix (#9083) as suggested by the original bug reporter.
2011-11-12 Fix owner/group as well (#10787)Matthias Pigulla
2011-11-12Fix (#10787) - Various fixes/tweaks for the CVS providerMatthias Pigulla
2011-11-11Fix (#10751) by adding a new "module" parameter for the CVS providerMatthias Pigulla
2011-11-11Fix (#9083) as suggested by the original bug reporter.Matthias Pigulla
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-08-29Fixed Bug #9219 - vcsrepo updates too often James Turnbull
If vcsrepo is used with ensure => latest to keep something from a larger repository checked out it will trigger an update every time something changes anywhere in the repository, not just in the part that’s actually checked out. In combination with a busy development team and a vcsrepo resource with notify => Service[foo] this means frequent restarts of a service for no good reason. The attached patch solves the issue by looking at the “Last Changed Rev” line from svn info instead of “Revision”. Patch thanks to: Knut Arne Bjørndal
2011-08-18Merge pull request #6 from justintime/svn-basic-authNibalizer
Adding basic_auth feature and adding --non-interactive to all svn command
2011-08-17Adding in missing support for owner and group properties.Justin Ellison
2011-08-17Adding basic_auth feature and adding --non-interactive to all svn commands.Justin Ellison
The basic_auth feature allows the manifest to specify an optional basic_auth_username and basic_auth_password to be sent to the subversion server over HTTP(S). Adding --non-interactive to all svn commands just lets svn know that there's not a user on the other end to send y/n questions.
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-12-27support setting the owner/group in hg providerAaron Bull Schaefer