summaryrefslogtreecommitdiff
path: root/lib/puppet/provider/vcsrepo/git.rb
AgeCommit message (Collapse)Author
2014-10-21Merge pull request #200 from Paulche/change_uidAaron Stone
Change uid by Puppet execution API
2014-09-17Handle both Array/Enumerable and String values for excludes parameterAaron Stone
Thanks to @revhazroot for identifying the problem that excludes with a string or single-element array fails on Ruby >= 1.9.
2014-08-20Change uid by Puppet execution APIPaul Chechetin
2014-07-11(MODULES-660) Correct detached HEAD on latestHunter Haugen
Previously vcsrepo detached HEAD on checkout which caused further branch revisions to fail. This corrects the behavior, and works on git 1.7, 1.8, 1.9, and 2.0
2014-06-30Fix issue with node changing every checkinJoshua B. Bussdieker
2014-05-21Merge pull request #145 from hunner/fix_beaker_testsJohn Duarte
Update specs and fix FM-1361
2014-05-21Update specs and fix FM-1361Hunter Haugen
- Add install.rb for pre-suite - Add catches for failures/changes to manifest application - Correct root ssh key copying - Add sleeps for killing processes releasing ports - Fix FM-1361
2014-05-22Un-optional the non-optional commands.Daniele Sluijters
2014-05-15update to use -a and desired for hard resetTravis Fields
2014-05-15Fix detached head stateTravis Fields
2014-05-13Fix issue where force=>true was not destroying repository then recreatingTravis Fields
2014-02-12use `git rev-parse` to get tag canonical revision.Huan Du
2014-01-24Merge pull request #105 from mcanevet/no_suAshley Penney
Don't 'su' if passed user is current user
2014-01-11git: actually use the remote parameterMiguel Di Ciurcio Filho
When using the following sample, the provider does not use the value of remote when cloning a repository: vcsrepo {'/path/to/repo': ensure => 'present', provider => 'git', remote => 'test', source => 'git@somerepo:repo.git', } $ git remote origin This commit makes sure that the new repository has a remote with the supplied value. Closes #MODULES-430
2014-01-07Add the option to shallow clones with gitFelipe Reyes
The new parameter used to indicate that you want a shallow clone is `:depth`
2013-12-04Stripping git on_branch? return value; contains trailing newlineMike Gerwitz
This commit also contains git provider `latest' method formatting changes; squashed by request.
2013-12-02Using rev-parse to determine branch name of HEAD for on_branch? methodMike Gerwitz
2013-12-02origin/HEAD is not valid; use origin/master for latest when branch == 'master'Mike Gerwitz
2013-11-24Don't 'su' if passed user is current userMickaẽl Canévet
2013-08-28update git provider to handle checking out into an existing (empty) dirJohn Iacona
2013-07-19Style adjustmentAaron Stone
2013-07-19WhitespaceAaron Stone
2013-07-17Use git checkout --force instead of short -f everywhereAaron Stone
2013-07-17Merge pull request #46 from Paulche/masterAaron Stone
Enable unlimited nesting for submodule updating
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