From e1194116b274400bf2242bfa8b56eae1c48e11bd Mon Sep 17 00:00:00 2001 From: Michael Scherer Date: Sat, 13 Dec 2014 22:05:40 +0100 Subject: [PATCH] Make force parameter work for export operation The default is changed from 'yes' to 'no' to follow subversion behavior (ie, requiring explicit confirmation to erase a existing repository). Since that was not working before cf #370 and since the option was ignored before and unused, this should be safe to change. --- lib/ansible/modules/source_control/subversion.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/ansible/modules/source_control/subversion.py b/lib/ansible/modules/source_control/subversion.py index 6709a8c3939..e3a013cc340 100644 --- a/lib/ansible/modules/source_control/subversion.py +++ b/lib/ansible/modules/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), @@ -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