4972: rbt patch on rbt 3.1 fails with `got multiple values for keyword argument 'with_errors'`

grim
chipx86
chipx86

What version are you running?

3.1

What steps will reproduce the problem?

  1. make sure you're on rbtools 3.1
  2. rbt patch request-id

The issue is not present on rbtools 3.0

I've tried multiple review requests and they all fail with the same error as it looks like a programming error.

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

The patch being successful.

What operating system are you using?

Linux

Attach the debug out from the command.

This is against https://reviews.imfreedom.org/r/1423 diff revision 2.

$ rbt patch -d 1423 
>>> RBTools 3.1
>>> Python 3.10.4 (main, Apr  2 2022, 09:04:19) [GCC 11.2.0]
>>> Running on Linux-5.17.0-1-amd64-x86_64-with-glibc2.33
>>> Home = /home/grim
>>> Current directory = /home/grim/p/pidgin-clean-gtk4
>>> Making HTTP GET request to https://reviews.imfreedom.org/api/
>>> Unable to execute "cleartool help": skipping ClearCase
>>> Running: tf vc help
>>> Checking for a Mercurial repository...
>>> Running: hg showconfig
>>> Using candidate path 'default': 'ssh://keep.imfreedom.org/pidgin/pidgin'
>>> Repository info: Path: ssh://keep.imfreedom.org/pidgin/pidgin, Base path: 
>>> Making HTTP GET request to https://reviews.imfreedom.org/api/repositories/?name=pidgin%2Fpidgin&only-fields=id%2Cname%2Cmirror_path%2Cpath&only-links=info&tool=Mercurial%2CSubversion
>>> HTTP GET request to https://reviews.imfreedom.org/api/repositories/?name=pidgin%2Fpidgin&only-fields=id%2Cname%2Cmirror_path%2Cpath&only-links=info&tool=Mercurial%2CSubversion cannot be cached
>>> Making HTTP GET request to https://reviews.imfreedom.org/api/repositories/1/info/
>>> Got API Error 209 (HTTP code 501): The specified repository is not able to perform this action.
>>> Error data: {'err': {'code': 209, 'msg': 'The specified repository is not able to perform this action.'}, 'stat': 'fail'}
>>> Command line: rbt patch -d 1423
>>> Running: hg status --modified --added --removed --deleted --config extensions.rbtoolsnormalize=/home/grim/.local/lib/python3.10/site-packages/rbtools/helpers/hgext.py
>>> Making HTTP GET request to https://reviews.imfreedom.org/api/review-requests/1423/diffs/?only-fields=&only-links=
>>> HTTP GET request to https://reviews.imfreedom.org/api/review-requests/1423/diffs/?only-fields=&only-links= cannot be cached
>>> Making HTTP GET request to https://reviews.imfreedom.org/api/review-requests/1423/diffs/2/?expand=commits
>>> HTTP GET request to https://reviews.imfreedom.org/api/review-requests/1423/diffs/2/?expand=commits cannot be cached
>>> Making HTTP GET request to https://reviews.imfreedom.org/api/review-requests/1423/diffs/2/commits/1e5caca5737e4f1fdd34eddabadca2551e436826/
>>> HTTP GET request to https://reviews.imfreedom.org/api/review-requests/1423/diffs/2/commits/1e5caca5737e4f1fdd34eddabadca2551e436826/ cannot be cached
>>> Making HTTP GET request to https://reviews.imfreedom.org/api/review-requests/1423/?force-text-type=plain
>>> HTTP GET request to https://reviews.imfreedom.org/api/review-requests/1423/?force-text-type=plain cannot be cached
Applying 1 patch from review request 1423 (diff revision 2)
Traceback (most recent call last):
  File "/home/grim/.local/bin/rbt", line 8, in <module>
    sys.exit(main())
  File "/home/grim/.local/lib/python3.10/site-packages/rbtools/commands/main.py", line 207, in main
    command.run_from_argv([RB_MAIN, command_name] + args)
  File "/home/grim/.local/lib/python3.10/site-packages/rbtools/commands/__init__.py", line 1096, in run_from_argv
    exit_code = self.main(*args) or 0
  File "/home/grim/.local/lib/python3.10/site-packages/rbtools/commands/patch.py", line 536, in main
    self._apply_patches(patches)
  File "/home/grim/.local/lib/python3.10/site-packages/rbtools/commands/patch.py", line 635, in _apply_patches
    success = self.apply_patch(
  File "/home/grim/.local/lib/python3.10/site-packages/rbtools/commands/patch.py", line 348, in apply_patch
    result = self.tool.apply_patch(
  File "/home/grim/.local/lib/python3.10/site-packages/rbtools/clients/mercurial.py", line 1264, in apply_patch
    rc, data = self._execute(cmd, with_errors=True, return_error_code=True,
  File "/home/grim/.local/lib/python3.10/site-packages/rbtools/clients/mercurial.py", line 1213, in _execute
    return execute(cmd, with_errors=False, *args, **kwargs)
TypeError: rbtools.utils.process.execute() got multiple values for keyword argument 'with_errors'

Please provide any additional information below.

Downgraded to rbtools 3.0 and the problem does not exist.

chipx86
#1 chipx86

Fixed in 0c16a55480ecb4f7d3559a0f90ae9f67f50ec4af, and being released this week in RBTools 3.1.1.

  • -New
    +Fixed
  • +chipx86
grim
#2 grim

Awesome news, thank you so much Christian!