4894: Mercurial: TypeError: a bytes-like object is required, not 'str'

Misery

What version are you running?

2.0

What steps will reproduce the problem?

  1. Create a review request
  2. Use rbt patch to get that patch
  3. Patch is correctly applied but shows an error.

What is the expected output? What do you see instead?

No error

What operating system are you using?

Linux

Attach the debug out from the command.

$ rbt patch -d 60100
>>> RBTools 2.0
>>> Python 3.9.1 (default, Dec 13 2020, 11:55:53) 
[GCC 10.2.0]
>>> Running on Linux-5.9.14-arch1-1-x86_64-with-glibc2.32
>>> Home = /home/andre
>>> Current directory = /home/andre/hg/AusweisApp2
>>> Command line: rbt patch -d 60100
>>> Running: tf vc help
>>> Checking for a Mercurial repository...
>>> Running: hg showconfig
>>> Using candidate path 'default': 'https://hg.govkg.de/AusweisApp/AusweisApp2'
>>> Repository info: Path: https://hg.govkg.de/AusweisApp/AusweisApp2, Base path: , Supports changesets: False
>>> Making HTTP GET request to https://rb.governikus.de/api/
>>> Running: hg status --modified --added --removed --deleted
>>> Making HTTP GET request to https://rb.governikus.de/api/review-requests/60100/diffs/?only-fields=&only-links=
>>> Cached response for HTTP GET https://rb.governikus.de/api/review-requests/60100/diffs/?only-fields=&only-links= expired and was modified
>>> Making HTTP GET request to https://rb.governikus.de/api/review-requests/60100/diffs/1/
>>> Cached response for HTTP GET https://rb.governikus.de/api/review-requests/60100/diffs/1/ expired and was not modified
>>> Making HTTP GET request to https://rb.governikus.de/api/review-requests/60100/diffs/1/
>>> Cached response for HTTP GET https://rb.governikus.de/api/review-requests/60100/diffs/1/ expired and was not modified
Applying 1 patch from review request 60100 (diff revision 1)
>>> Running: hg parents --hidden -r 0
>>> Running: hg patch --no-commit /tmp/rbtools.8ixjv9cn --config extensions.rbtoolsnormalize=/usr/lib/python3.9/site-packages/rbtools/helpers/hgext.py

Traceback (most recent call last):
  File "/usr/bin/rbt", line 33, in <module>
    sys.exit(load_entry_point('RBTools==2.0', 'console_scripts', 'rbt')())
  File "/usr/lib/python3.9/site-packages/rbtools/commands/main.py", line 124, in main
    command.run_from_argv([RB_MAIN, command_name] + args)
  File "/usr/lib/python3.9/site-packages/rbtools/commands/__init__.py", line 770, in run_from_argv
    exit_code = self.main(*args) or 0
  File "/usr/lib/python3.9/site-packages/rbtools/commands/patch.py", line 484, in main
    self._apply_patches(patches)
  File "/usr/lib/python3.9/site-packages/rbtools/commands/patch.py", line 583, in _apply_patches
    success = self.apply_patch(
  File "/usr/lib/python3.9/site-packages/rbtools/commands/patch.py", line 352, in apply_patch
    sys.stdout.buffer.write(patch_output)
TypeError: a bytes-like object is required, not 'str'

Please provide any additional information below.

grim
#1 grim

I have a review request in to fix this at https://reviews.reviewboard.org/r/11330/

david
#2 david

Fixed in release-2.0.x (d474036). This will ship in RBTools 2.0.1. Thanks!

  • -New
    +Fixed