summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToshio Kuratomi <a.badger@gmail.com>2015-01-28 16:03:40 -0800
committerToshio Kuratomi <a.badger@gmail.com>2015-01-28 16:03:40 -0800
commit31a56e23f287ed957d51c2c4d1794e03609ac0cb (patch)
tree595e01af743b86f0d9b515e6c6c505e592261bf3
parente2083bbe8a6baf63a363617f5b4590a3a8ff6e89 (diff)
parentfa46f3c269194bfd05b5f4b330d3e8c00d17b38d (diff)
downloadansible-modules-core-31a56e23f287ed957d51c2c4d1794e03609ac0cb.tar.gz
Merge pull request #506 from mscherer/fix_370
Fix #370
-rw-r--r--source_control/subversion.py22
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 *