Age | Commit message (Collapse) | Author |
|
Supports sync and client create/update
|
|
Update specs and fix FM-1361
|
|
- 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
|
|
|
|
|
|
|
|
|
|
Use `git rev-parse` to get tag canonical revision
|
|
Only add ssh options to commands that actually talk to the network.
|
|
|
|
At least in Mercurial 2.8.2, --ssh seems to be a command-specific parameter in
contrast to a global one. As a result, local commands error when seeing a --ssh
parameter. This change passes --ssh only for commands that actually talk to the
network ('incoming', 'pull' and 'clone' here).
|
|
|
|
Don't 'su' if passed user is current user
|
|
svnlook expects a sub-directory within a repository called "format"; when using svnlook
within a non-repository directory this causes it to throw an error. Adding a test for
that directory before executing svnlook.
|
|
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
|
|
The new parameter used to indicate that you want a shallow clone is `:depth`
|
|
This commit also contains git provider `latest' method formatting changes;
squashed by request.
|
|
|
|
|
|
|
|
'non-repository' at the path. That can be even just an empty directory. This
makes it so further puppet runs cannot ever complete properly, because of this
error:
change from absent to present failed: Could not create repository (non-repository at path)
This requires manual intervention to resolve (ie. removing the directory).
It is possible to pass the 'force => true' parameter to vcsrepo to handle this,
however, all this will do is remove whatever is there, even if it is a valid
repository. That means on every puppet run you get the tree removed and then a
new clone is done. This is less than ideal for a number of reasons.
So this commit adds a test to determine if the location contains a valid
repository and then it is used when 'force => true' to determine if it should
replace the existing content with a fresh clone.
Note: the valid_repo? check is also added to the 'def bare_git_config_exists?'
because the test that is done there is intended to look for a bare git
repository by checking to see if there 'config' is in the directory. This isn't
a particularly robust test because 'config' could be in a directory, when it
isn't a bare git repository (such as is common in a rails app) causing vcsrepo
to mistakenly think it was a proper bare repository, when it isn't.
|
|
|
|
SVN provider should check for '^Revision:' and not '^Last Changed
Rev:'. Addresses GitHub Issue #43.
|
|
|
|
added checks that the URL of the WC matches the URL from the manifest
changed from using "update" to "switch"
|
|
|
|
|
|
|
|
Pull request related to issue #8331.
I have added support into the exists? method (actually working_copy_exists?) for checking if the path is a master repository, using svnlook. It should be ok in most cases, since svnlook comes with svnadmin in nearly every distribution.
|
|
|
|
|
|
|
|
|
|
Enable unlimited nesting for submodule updating
|
|
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!
|
|
|