Improve is_delete detection.
Make tests more exhaustive in prospect to file move handling.
Rename 'c' variables to 'p' to easy copy paste.
R=dpranke@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7828017
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99439 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/patch.py b/patch.py
index 8bdeddb..333cbb9 100644
--- a/patch.py
+++ b/patch.py
@@ -269,9 +269,9 @@
if not last_line.startswith('---'):
self._fail('Unexpected git diff: --- not following +++.')
# TODO(maruel): new == self.filename.
- if new != self.mangle(match.group(1)) and '/dev/null' != match.group(1):
- # TODO(maruel): Can +++ be /dev/null? If so, assert self.is_delete ==
- # True.
+ if '/dev/null' == match.group(1):
+ self.is_delete = True
+ elif new != self.mangle(match.group(1)):
self._fail('Unexpected git diff: %s != %s.' % (new, match.group(1)))
if lines:
self._fail('Crap after +++')
@@ -323,10 +323,9 @@
if match:
if not last_line.startswith('---'):
self._fail('Unexpected diff: --- not following +++.')
- if (self.mangle(match.group(1)) != self.filename and
- match.group(1) != '/dev/null'):
- # TODO(maruel): Can +++ be /dev/null? If so, assert self.is_delete ==
- # True.
+ if match.group(1) == '/dev/null':
+ self.is_delete = True
+ elif self.mangle(match.group(1)) != self.filename:
self._fail('Unexpected diff: %s.' % match.group(1))
if lines:
self._fail('Crap after +++')