diff options
author | Toshio Kuratomi <a.badger@gmail.com> | 2015-01-28 16:03:40 -0800 |
---|---|---|
committer | Toshio Kuratomi <a.badger@gmail.com> | 2015-01-28 16:03:40 -0800 |
commit | 31a56e23f287ed957d51c2c4d1794e03609ac0cb (patch) | |
tree | 595e01af743b86f0d9b515e6c6c505e592261bf3 | |
parent | e2083bbe8a6baf63a363617f5b4590a3a8ff6e89 (diff) | |
parent | fa46f3c269194bfd05b5f4b330d3e8c00d17b38d (diff) | |
download | ansible-modules-core-31a56e23f287ed957d51c2c4d1794e03609ac0cb.tar.gz |
Merge pull request #506 from mscherer/fix_370
Fix #370
-rw-r--r-- | source_control/subversion.py | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/source_control/subversion.py b/source_control/subversion.py index 6709a8c3..8f6d81e5 100644 --- a/source_control/subversion.py +++ b/source_control/subversion.py @@ -123,7 +123,12 @@ class Subversion(object): def export(self, force=False): '''Export svn repo to directory''' - self._exec(["export", "-r", self.revision, self.repo, self.dest]) + cmd = ["export"] + if force: + cmd.append("--force") + cmd.extend(["-r", self.revision, self.repo, self.dest]) + + self._exec(cmd) def switch(self): '''Change working directory's repo.''' @@ -173,7 +178,7 @@ def main(): dest=dict(required=True), repo=dict(required=True, aliases=['name', 'repository']), revision=dict(default='HEAD', aliases=['rev', 'version']), - force=dict(default='yes', type='bool'), + force=dict(default='no', type='bool'), username=dict(required=False), password=dict(required=False), executable=dict(default=None), @@ -194,7 +199,7 @@ def main(): os.environ['LANG'] = 'C' svn = Subversion(module, dest, repo, revision, username, password, svn_path) - if not os.path.exists(dest): + if export or not os.path.exists(dest): before = None local_mods = False if module.check_mode: @@ -202,7 +207,7 @@ def main(): if not export: svn.checkout() else: - svn.export() + svn.export(force=force) elif os.path.exists("%s/.svn" % (dest, )): # Order matters. Need to get local mods before switch to avoid false # positives. Need to switch before revert to ensure we are reverting to @@ -222,9 +227,12 @@ def main(): else: module.fail_json(msg="ERROR: %s folder already exists, but its not a subversion repository." % (dest, )) - after = svn.get_revision() - changed = before != after or local_mods - module.exit_json(changed=changed, before=before, after=after) + if export: + module.exit_json(changed=True) + else: + after = svn.get_revision() + changed = before != after or local_mods + module.exit_json(changed=changed, before=before, after=after) # import module snippets from ansible.module_utils.basic import * |