4735: rbt patch -C fails on mercurial
What version are you running?
What steps will reproduce the problem?
- rbt patch -C 18401
What is the expected output? What do you see instead?
I expect the local repository to be patched with the review request and the changes committed immediately.
Instead the patch is beeing applied but the commit fails.
What operating system are you using?
(But colleages tell me about the same problem on other operating systems.)
Attach the debug out from the command.$ rbt patch -dC 18401 >>> RBTools 1.0 >>> Python 2.7.12 (default, Dec 4 2017, 14:50:18) [GCC 5.4.0 20160609] >>> Running on Linux-4.4.0-43-Microsoft-x86_64-with-Ubuntu-16.04-xenial >>> Home = XXXXX >>> Current directory = XXXXX >>> Command line: rbt patch -dC 18401 >>> Running: tf vc help >>> Checking for a Mercurial repository... >>> Running: hg root >>> Running: hg showconfig >>> Running: hg svn info >>> Command exited with rc 255: [u'hg', u'svn', u'info'] hg: unknown command 'svn' Mercurial Distributed SCM basic commands: add add the specified files on the next commit annotate show changeset information by line for each file clone make a copy of an existing repository commit commit the specified files or all outstanding changes diff diff repository (or selected files) export dump the header and diffs for one or more changesets forget forget the specified files on the next commit init create a new repository in the given directory log show revision history of entire repository or files merge merge another revision into working directory pull pull changes from the specified source push push changes to the specified destination qdiff diff of the current patch and subsequent modifications qnew create a new patch qpop pop the current patch off the stack qpush push the next patch onto the stack qrefresh update the current patch remove remove the specified files on the next commit serve start stand-alone webserver status show changed files in the working directory summary summarize working directory state update update working directory (or switch revisions) (use "hg help" for the full list of commands or "hg -v" for details) --- >>> Using candidate path u'default': u'XXXXX' >>> Repository info: Path: XXXXX, Base path: , Supports changesets: False >>> Making HTTP GET request to XXXXX >>> Making HTTP GET request to XXXXX/review-requests/18401/diffs/ >>> Cached response for HTTP GET XXXXX/review-requests/18401/diffs/ expired and was modified >>> Making HTTP GET request to XXXXX/review-requests/18401/diffs/1/ >>> Cached response for HTTP GET XXXXX/review-requests/18401/diffs/1/ expired and was not modified >>> Making HTTP GET request to XXXXX/review-requests/18401/diffs/1/ >>> Cached response for HTTP GET XXXXX/review-requests/18401/diffs/1/ expired and was not modified >>> Running: hg status --modified --added --removed --deleted Patch is being applied from request 18401 with diff revision 1. >>> Running: hg parents --hidden -r 0 >>> Running: hg patch --no-commit /tmp/tmpM4fnJN --config extensions.rbtoolsnormalize=/usr/local/lib/python2.7/dist-packages/RBTools-1.0.dev0-py2.7.egg/rbtools/helpers/hgext.py applying /tmp/tmpM4fnJN Successfully applied patch. >>> Making HTTP GET request to XXXXX/review-requests/18401/?force-text-type=plain >>> Cached response for HTTP GET XXXXX/review-requests/18401/?force-text-type=plain expired and was not modified >>> Making HTTP GET request to XXXXX/users/knueppel/ >>> Cached response for HTTP GET XXXXX/users/knueppel/ expired and was modified Traceback (most recent call last): File "/usr/local/bin/rbt", line 9, in <module> load_entry_point('RBTools==1.0.dev0', 'console_scripts', 'rbt')() File "/usr/local/lib/python2.7/dist-packages/RBTools-1.0.dev0-py2.7.egg/rbtools/commands/main.py", line 120, in main command.run_from_argv([RB_MAIN, command_name] + args) File "/usr/local/lib/python2.7/dist-packages/RBTools-1.0.dev0-py2.7.egg/rbtools/commands/__init__.py", line 720, in run_from_argv exit_code = self.main(*args) or 0 File "/usr/local/lib/python2.7/dist-packages/RBTools-1.0.dev0-py2.7.egg/rbtools/commands/patch.py", line 216, in main not self.options.commit_no_edit) File "/usr/local/lib/python2.7/dist-packages/RBTools-1.0.dev0-py2.7.egg/rbtools/clients/mercurial.py", line 622, in create_commit '-u %s <%s>' % (author.fullname, author.email)] File "/usr/local/lib/python2.7/dist-packages/RBTools-1.0.dev0-py2.7.egg/rbtools/api/resource.py", line 345, in __getattr__ raise AttributeError AttributeError
Please provide any additional information below.
I determined the reason. One has to performrbt login
first. This is due to the fact, that user attributes fullname and email are omitted for non-staff users (see: https://www.reviewboard.org/docs/manual/3.0/webapi/2.0/resources/user/).