Age | Commit message (Collapse) | Author |
|
fix git provider checkout of a remote ref on an existing repo
|
|
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
|
|
|
|
|
|
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.
|
|
|
|
Handle force in svn args
|
|
"ensure => latest" support for bzr
|
|
other remote connection issues) from blocking the Puppet run
|
|
|
|
Tighten regex to avoid matching the word 'commit' in message
|
|
Allow non-root users to clone a repo
Merging my own PR because it's just a rework of an existing PR.
|
|
Without this, git will report that it can't change back to /root
|
|
|
|
Update origin if necessary before checking revision
This looks good. Thanks!
|
|
|
|
|
|
|
|
|
|
Conflicts:
lib/puppet/provider/vcsrepo/cvs.rb
spec/support/fixture_helpers.rb
spec/unit/puppet/provider/vcsrepo/cvs_spec.rb
|
|
|
|
|
|
Removes trailing whitespace
|
|
Add default user to run git as.
|
|
warning about multiple default providers for :vcsrepo.
|
|
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.
|
|
|
|
Add a default to the user parameter of root, which is the user that
the git commands would have ran in previously versions of this module.
Without this an upgrade to the lastest release would cause syntax
error all over a person's code base and provide no benefit.
|
|
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)
|
|
Add the ability to specify a git remote
|
|
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.
|
|
changes are found; this change gets reverted in mercurial 2.1.1)
|
|
|
|
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.
|
|
Fix (#10787) - Various fixes/tweaks for the CVS provider
|
|
Fix (#10788) - Avoid unnecessary remote operations in the vcsrepo type
|
|
Suggested fix for (#10751) by adding a "module" parameter
|
|
|
|
Fix (#9083) as suggested by the original bug reporter.
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
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.
|
|
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
|
|
Adding basic_auth feature and adding --non-interactive to all svn command
|
|
|
|
|