Re: Git-p4 UnicodeDecodeError on ascii 0x93 character
From: Torsten =?unknown-8bit?Q?B=C3=B6gershausen?= <hidden>
Date: 2022-02-26 09:39:36
On Fri, Feb 25, 2022 at 09:20:51PM -0800, Hunter Laux wrote:
quoted hunk ↗ jump to hunk
One of my p4 commits has an ???(0x93) character in the p4 description and I'm trying to export it to git. I'm using the latest git-p4.py as of c70bc33. I think python2 didn't throw an error, but python3 now treats this as an error. The error is. Traceback (most recent call last): File "/home/hlaux/.local/bin/git-p4", line 4292, in <module> main() File "/home/hlaux/.local/bin/git-p4", line 4286, in main if not cmd.run(args): File "/home/hlaux/.local/bin/git-p4", line 4043, in run if not P4Sync.run(self, depotPaths): File "/home/hlaux/.local/bin/git-p4", line 3910, in run self.importRevisions(args, branch_arg_given) File "/home/hlaux/.local/bin/git-p4", line 3658, in importRevisions changes = p4ChangesForPaths(self.depotPaths, self.changeRange, self.changes_block_size) File "/home/hlaux/.local/bin/git-p4", line 1080, in p4ChangesForPaths result = p4CmdList(cmd, errors_as_exceptions=True) File "/home/hlaux/.local/bin/git-p4", line 711, in p4CmdList value = value.decode() UnicodeDecodeError: 'utf-8' codec can't decode byte 0x93 in position 21: invalid start byte This patch seems to work.--- a/git-p4.py +++ b/git-p4.py@@ -707,7 +707,7 @@ def p4CmdList(cmd, stdin=None, stdin_mode='w+b',cb=None, skip_info=False, for key, value in entry.items(): key = key.decode() if isinstance(value, bytes) and not (key in ('data', 'path', 'clientFile') or key.startswith('depotFile')): - value = value.decode() + value = value.decode('latin1') decoded_entry[key] = value # Parse out data if it's an error response if decoded_entry.get('code') == 'error' and 'data' in decoded_entry: Does anyone have a better fix? Thanks, Hunter Laux
Thanks for reporting. I think there was a patch for this problem some time ago: https://lore.kernel.org/git/20210422050504.441-1-tzadik.vanderhoof@gmail.com/ (local)