Index: gclient_scm.py |
=================================================================== |
--- gclient_scm.py (revision 48811) |
+++ gclient_scm.py (working copy) |
@@ -740,8 +740,7 @@ |
if not os.path.exists(checkout_path): |
# We need to checkout. |
command = ['checkout', url, checkout_path] |
- if revision: |
- command.extend(['--revision', str(revision).strip()]) |
+ command = self.AddAdditionalFlags(command, options, revision) |
scm.SVN.RunAndGetFileList(options, command, self._root_dir, file_list) |
return |
@@ -798,8 +797,7 @@ |
gclient_utils.RemoveDirectory(checkout_path) |
# We need to checkout. |
command = ['checkout', url, checkout_path] |
- if revision: |
- command.extend(['--revision', str(revision).strip()]) |
+ command = self.AddAdditionalFlags(command, options, revision) |
scm.SVN.RunAndGetFileList(options, command, self._root_dir, file_list) |
return |
@@ -812,8 +810,7 @@ |
return |
command = ["update", checkout_path] |
- if revision: |
- command.extend(['--revision', str(revision).strip()]) |
+ command = self.AddAdditionalFlags(command, options, revision) |
scm.SVN.RunAndGetFileList(options, command, self._root_dir, file_list) |
def updatesingle(self, options, args, file_list): |
@@ -841,8 +838,7 @@ |
os.makedirs(checkout_path) |
command = ["export", os.path.join(self.url, filename), |
os.path.join(checkout_path, filename)] |
- if options.revision: |
- command.extend(['--revision', str(options.revision).strip()]) |
+ command = self.AddAdditionalFlags(command, options, options.revision) |
scm.SVN.Run(command, self._root_dir) |
def revert(self, options, args, file_list): |
@@ -927,3 +923,15 @@ |
def FullUrlForRelativeUrl(self, url): |
# Find the forth '/' and strip from there. A bit hackish. |
return '/'.join(self.url.split('/')[:4]) + url |
+ |
+ def AddAdditionalFlags(self, command, options, revision): |
+ """Add additional flags to command depending on what options are set. |
+ command should be a list of strings that represents an svn command. |
+ |
+ This method returns a new list to be used as a command.""" |
+ new_command = command[:] |
+ if revision: |
+ new_command.extend(['--revision', str(revision).strip()]) |
+ if options.force: |
+ new_command.append('--force') |
+ return new_command |