Fix svn mv/cp/ren diff for real this time, for try jobs.
TEST=send a try job with a file moved with modified content
BUG=6825
Review URL: http://codereview.chromium.org/554013
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@36828 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/scm.py b/scm.py
index 2ec5825..c47a00c 100644
--- a/scm.py
+++ b/scm.py
@@ -611,10 +611,7 @@
command = ["diff", "--config-dir", bogus_dir, filename]
if revision:
command.extend(['--revision', revision])
- data = SVN.Capture(command, None)
- if data:
- pass
- elif SVN.IsMoved(filename):
+ if SVN.IsMoved(filename):
if full_move:
file_content = gclient_utils.FileRead(filename, 'rb')
# Prepend '+' to every lines.
@@ -629,12 +626,13 @@
data += "@@ -0,0 +1,%d @@\n" % nb_lines
data += ''.join(file_content)
else:
- # svn diff on a mv/cp'd file outputs nothing.
- # We put in an empty Index entry so upload.py knows about them.
- data = "Index: %s\n" % filename
+ # svn diff on a mv/cp'd file outputs nothing if there was no change.
+ data = SVN.Capture(command, None)
+ if not data:
+ # We put in an empty Index entry so upload.py knows about them.
+ data = "Index: %s\n" % filename
else:
- # The file is not modified anymore. It should be removed from the set.
- pass
+ data = SVN.Capture(command, None)
finally:
shutil.rmtree(bogus_dir)
return data