diff options
Diffstat (limited to 'Tools/Scripts/webkitpy/common/checkout/scm/svn.py')
-rw-r--r-- | Tools/Scripts/webkitpy/common/checkout/scm/svn.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/Tools/Scripts/webkitpy/common/checkout/scm/svn.py b/Tools/Scripts/webkitpy/common/checkout/scm/svn.py index af03f8d70..6a2e1319b 100644 --- a/Tools/Scripts/webkitpy/common/checkout/scm/svn.py +++ b/Tools/Scripts/webkitpy/common/checkout/scm/svn.py @@ -82,9 +82,16 @@ class SVN(SCM, SVNRepository): else: self._patch_directories = patch_directories - @staticmethod - def in_working_directory(path): - return os.path.isdir(os.path.join(path, '.svn')) + @classmethod + def in_working_directory(cls, path): + if os.path.isdir(os.path.join(path, '.svn')): + # This is a fast shortcut for svn info that is usually correct for SVN < 1.7, + # but doesn't work for SVN >= 1.7. + return True + + svn_info_args = [cls.executable_name, 'info'] + exit_code = Executive().run_command(svn_info_args, cwd=path, return_exit_code=True) + return (exit_code == 0) def find_uuid(self, path): if not self.in_working_directory(path): |