diff options
author | Hunter Haugen <h.haugen@gmail.com> | 2013-07-30 09:51:37 -0700 |
---|---|---|
committer | Hunter Haugen <h.haugen@gmail.com> | 2013-07-30 09:51:37 -0700 |
commit | 6f7507a2a48ff0a58c7db026760a2eb84e382a77 (patch) | |
tree | 79c3760635cf6defe29be5238f4456aa6c58c280 /lib/puppet | |
parent | 45cb7c1319e79cbfb3ff2bcdadfc275260d557e0 (diff) | |
parent | a14da4fc175649adaa2aa2a37465e5cd3fc7fccb (diff) | |
download | puppet-vcsrepo-6f7507a2a48ff0a58c7db026760a2eb84e382a77.tar.gz puppet-vcsrepo-6f7507a2a48ff0a58c7db026760a2eb84e382a77.tar.bz2 |
Merge pull request #84 from sodabrew/issue_12034_svnswitch
added support for changing upstream repo url - rebase of #74
Diffstat (limited to 'lib/puppet')
-rw-r--r-- | lib/puppet/provider/vcsrepo/svn.rb | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/lib/puppet/provider/vcsrepo/svn.rb b/lib/puppet/provider/vcsrepo/svn.rb index 3132c36..bfc9b76 100644 --- a/lib/puppet/provider/vcsrepo/svn.rb +++ b/lib/puppet/provider/vcsrepo/svn.rb @@ -40,7 +40,7 @@ Puppet::Type.type(:vcsrepo).provide(:svn, :parent => Puppet::Provider::Vcsrepo) def latest? at_path do - self.revision >= self.latest + (self.revision >= self.latest) and (@resource.value(:source) == self.sourceurl) end end @@ -70,6 +70,13 @@ Puppet::Type.type(:vcsrepo).provide(:svn, :parent => Puppet::Provider::Vcsrepo) end end + def sourceurl + args = buildargs.push('info') + at_path do + svn(*args)[/^URL:\s+(\S+)/m, 1] + end + end + def revision args = buildargs.push('info') at_path do @@ -78,7 +85,11 @@ Puppet::Type.type(:vcsrepo).provide(:svn, :parent => Puppet::Provider::Vcsrepo) end def revision=(desired) - args = buildargs.push('update', '-r', desired) + args = if @resource.value(:source) + buildargs.push('switch', '-r', desired, @resource.value(:source)) + else + buildargs.push('update', '-r', desired) + end at_path do svn(*args) end |