git_command.py: Handle unicode decode error
repo diffmanifests saves git commit messages in buf and uses default
utf-8 decoding, in some scenarios git commit message can itself contain
a non UTF-8 character due to a typo or incorrect i18n.commitEncoding.
e.g.
d354d9afe923 [PATCH] fbcon: don\xb4t call set_par() in fbcon_init() if vc_mode == KD_GRAPHICS
Convert the buf containing git commits to string if decoding to utf-8
encounters an error.
Signed-off-by: Gaurav Pathak <gaurav.pathak@pantacor.com>
Change-Id: If818562f0faaa5062c765fbea11dc0e1c86a24d7
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/294742
Reviewed-by: Mike Frysinger <vapier@google.com>
diff --git a/git_command.py b/git_command.py
index b29d240..2b3975e 100644
--- a/git_command.py
+++ b/git_command.py
@@ -395,7 +395,7 @@
s_in.remove(s)
continue
if not hasattr(buf, 'encode'):
- buf = buf.decode()
+ buf = buf.decode('utf-8', 'backslashreplace')
if s.std_name == 'stdout':
self.stdout += buf
else: