Index: third_party/upload.py |
diff --git a/third_party/upload.py b/third_party/upload.py |
index 538d3aef31b2544ce65510af843831a5a1bd8ab2..11849fd67ddc885015c74ce138afc666b78c19c0 100755 |
--- a/third_party/upload.py |
+++ b/third_party/upload.py |
@@ -1302,12 +1302,16 @@ class GitVCS(VersionControlSystem): |
# then the diff of everything except deleted files with rename and copy |
# support enabled. |
cmd = [ |
- "git", "diff", "--no-color", "--no-ext-diff", "--full-index", "--ignore-submodules" |
+ "git", "diff", "--no-color", "--no-ext-diff", "--full-index", |
+ "--ignore-submodules", |
] |
- diff = RunShell(cmd + ["--diff-filter=D"] + extra_args, env=env, |
- silent_ok=True) |
- diff += RunShell(cmd + ["-C", "--diff-filter=ACMRT"] + extra_args, env=env, |
- silent_ok=True) |
+ diff = RunShell( |
+ cmd + ["--diff-filter=D"] + extra_args, env=env, silent_ok=True) |
+ diff += RunShell( |
+ cmd + ["--find-copies-harder", "--diff-filter=ACMRT"] + extra_args, |
+ env=env, silent_ok=True) |
+ # The CL could be only file deletion or not. So accept silent diff for both |
+ # commands then check for an empty diff manually. |
if not diff: |
ErrorExit("No output from %s" % (cmd + extra_args)) |
return diff |