Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1214)

Unified Diff: presubmit_support.py

Issue 9127026: Cache diff to speed up when the diff is processed multiple times (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools
Patch Set: Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: presubmit_support.py
diff --git a/presubmit_support.py b/presubmit_support.py
index 52416d3fddb91285a61cf29556023e0dc1a46ddd..d56512f2aa11cc004703935303d087b625809348 100755
--- a/presubmit_support.py
+++ b/presubmit_support.py
@@ -558,6 +558,7 @@ class SvnAffectedFile(AffectedFile):
AffectedFile.__init__(self, *args, **kwargs)
self._server_path = None
self._is_text_file = None
+ self._diff = None
def ServerPath(self):
if self._server_path is None:
@@ -598,8 +599,10 @@ class SvnAffectedFile(AffectedFile):
return self._is_text_file
def GenerateScmDiff(self):
- return scm.SVN.GenerateDiff(
- [self.LocalPath()], self._local_root, False, None)
+ if self._diff is None:
+ self._diff = scm.SVN.GenerateDiff(
+ [self.LocalPath()], self._local_root, False, None)
+ return self._diff
class GitAffectedFile(AffectedFile):
@@ -611,6 +614,7 @@ class GitAffectedFile(AffectedFile):
AffectedFile.__init__(self, *args, **kwargs)
self._server_path = None
self._is_text_file = None
+ self._diff = None
def ServerPath(self):
if self._server_path is None:
@@ -645,7 +649,10 @@ class GitAffectedFile(AffectedFile):
return self._is_text_file
def GenerateScmDiff(self):
- return scm.GIT.GenerateDiff(self._local_root, files=[self.LocalPath(),])
+ if self._diff is None:
+ self._diff = scm.GIT.GenerateDiff(
+ self._local_root, files=[self.LocalPath(),])
+ return self._diff
class Change(object):
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698