From 6bd3170a1a1ae947d3960756bafafb0b487cf438 Mon Sep 17 00:00:00 2001 From: "thestig@chromium.org" Date: Wed, 2 Sep 2009 23:29:07 +0000 Subject: [PATCH] Change directory to repository root before running CheckSvnModifiedDirectories. Review URL: http://codereview.chromium.org/191002 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@25270 0039d316-1c4b-4281-b951-d872f2087c98 --- presubmit_support.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/presubmit_support.py b/presubmit_support.py index b700d1678..05ef8ffda 100755 --- a/presubmit_support.py +++ b/presubmit_support.py @@ -683,19 +683,31 @@ class SvnChange(Change): def __init__(self, *args, **kwargs): Change.__init__(self, *args, **kwargs) self.scm = 'svn' + self._changelists = None + + def _GetChangeLists(self): + """Get all change lists.""" + if self._changelists == None: + previous_cwd = os.getcwd() + os.chdir(self.RepositoryRoot()) + self._changelists = gcl.GetModifiedFiles() + os.chdir(previous_cwd) + return self._changelists def GetAllModifiedFiles(self): """Get all modified files.""" - changelists = gcl.GetModifiedFiles() + changelists = self._GetChangeLists() all_modified_files = [] for cl in changelists.values(): - all_modified_files.extend([f[1] for f in cl]) + all_modified_files.extend( + [os.path.join(self.RepositoryRoot(), f[1]) for f in cl]) return all_modified_files def GetModifiedFiles(self): """Get modified files in the current CL.""" - changelists = gcl.GetModifiedFiles() - return [f[1] for f in changelists[self.Name()]] + changelists = self._GetChangeLists() + return [os.path.join(self.RepositoryRoot(), f[1]) + for f in changelists[self.Name()]] class GitChange(Change):