Fix printing error on git-rebase failure
Reverted commit 4511b131e6966f87a8d60e2965df3b65b74d1069 had a bug where
squash_ret.success = True and empty_rebase = False. In that case, stdout
and stderr would already be string and trying to decode would fail.
Bug: 1071280
Change-Id: Iadcc526147ebb98aa7a91a7daa64ef44066e83b6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2163387
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Auto-Submit: Josip Sokcevic <sokcevic@google.com>
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
diff --git a/git_common.py b/git_common.py
index d4f2497..182fc0c 100644
--- a/git_common.py
+++ b/git_common.py
@@ -662,7 +662,8 @@
except subprocess2.CalledProcessError as cpe:
if abort:
run_with_retcode('rebase', '--abort') # ignore failure
- return RebaseRet(False, cpe.stdout, cpe.stderr)
+ return RebaseRet(False, cpe.stdout.decode('utf-8', 'replace'),
+ cpe.stderr.decode('utf-8', 'replace'))
def remove_merge_base(branch):
@@ -766,7 +767,7 @@
retcode = proc.wait()
if retcode != 0:
raise subprocess2.CalledProcessError(retcode, cmd, os.getcwd(),
- None, None)
+ b'', b'')
def run_with_stderr(*cmd, **kwargs):