3864: "rbt post //depot/path/...@r1,@r2" throws an exception in 0.7.2 and no review request gets created
- Fixed
- Review Board
seide******@gmai***** (Google Code) (Is this you? Claim this profile.) | |
|
|
July 14, 2015 |
What version are you running? RBTools 0.7.2 RB 1.7.28 and 2.0.15 What's the URL of the page containing the problem? NA What steps will reproduce the problem? 1. 2. 3. $ rbt --version RBTools 0.6.3 $ rbt post //depot/Jam/MAIN/src/...@813,@823 Review request #11 posted. http://localhost/r/11/ http://localhost/r/11/diff/ I discarded that review and then ran the same exact command against the same repo using RBTools 0.7.2. I had to add the debug option to get any useful output: $ rbt --version RBTools 0.7.2 $ rbt post -d //depot/Jam/MAIN/src/...@813,@823 <snip> +Test submitting a review with a shelve and no ship its. --- >>> Writing "//depot/Jam/MAIN/src/RELNOTES#77" to "/tmp/tmpQNewPu" >>> Running: p4 print -o /tmp/tmpQNewPu -q //depot/Jam/MAIN/src/RELNOTES#77 >>> Writing "//depot/Jam/MAIN/src/RELNOTES#78" to "/tmp/tmpUJo72G" >>> Running: p4 print -o /tmp/tmpUJo72G -q //depot/Jam/MAIN/src/RELNOTES#78 >>> Running: diff -urNp /tmp/tmpQNewPu /tmp/tmpUJo72G >>> Command exited with rc 1: [u'diff', u'-urNp', '/tmp/tmpQNewPu', '/tmp/tmpUJo72G'] --- /tmp/tmpQNewPu 2015-05-05 17:54:57.889010010 -0700 +++ /tmp/tmpUJo72G 2015-05-05 17:54:57.893009847 -0700 @@ -548,3 +548,4 @@ Release notes for Jam 2.0. A poorly set $(JAMSHELL) is likely to result in silent failure. +Test creating with 2 jobs. --- >>> Making HTTP GET request to http://localhost/api/validation/diffs/ >>> Cached response for HTTP GET http://localhost/api/validation/diffs/ expired and was modified >>> Making HTTP POST request to http://localhost/api/validation/diffs/ Traceback (most recent call last): File "/home/sallan/envs/rbtools-0.7.2/bin/rbt", line 9, in <module> load_entry_point('RBTools==0.7.2', 'console_scripts', 'rbt')() File "/home/sallan/envs/rbtools-0.7.2/local/lib/python2.7/site-packages/RBTools-0.7.2-py2.7.egg/rbtools/commands/main.py", line 133, in main command.run_from_argv([RB_MAIN, command_name] + args) File "/home/sallan/envs/rbtools-0.7.2/local/lib/python2.7/site-packages/RBTools-0.7.2-py2.7.egg/rbtools/commands/__init__.py", line 555, in run_from_argv exit_code = self.main(*args) or 0 File "/home/sallan/envs/rbtools-0.7.2/local/lib/python2.7/site-packages/RBTools-0.7.2-py2.7.egg/rbtools/commands/post.py", line 714, in main self.check_guess_fields() File "/home/sallan/envs/rbtools-0.7.2/local/lib/python2.7/site-packages/RBTools-0.7.2-py2.7.egg/rbtools/commands/post.py", line 553, in check_guess_fields assert self.revisions AssertionError When I ran it under a debugger, I found that it was trying to run p4 change //depot/Jam/MAIN/src/...@813,@823 What is the expected output? What do you see instead? A new review request What operating system are you using? What browser? CentOS 6 and Ubuntu Please provide any additional information below. Chris correctly assessed the problem: This looks like a bug with the commit message guessing feature and Perforce revision ranges. Can you try running the same command with '-g no' ? That does in fact get past the error.
I just tested 0.7.3 and the command now fails with this message: (rbtools-0.7.3)[sallan@xena]~/Projects/RBScript% rbt post --repository-type perforce --server http://localhost //depot/Jam/MAIN/src/...@130,@140 //depot/Jam/MAIN/src/Jamfile - file(s) not in client view. CRITICAL: Failed to execute command: [u'p4', u'-G', u'where', '//depot/Jam/MAIN/src/Jamfile'] Same command run under 0.6.3: (rbtools-0.6.3)[sallan@xena]~/Projects/RBScript% rbt post --repository-type perforce --server http://localhost //depot/Jam/MAIN/src/...@130,@140 Review request #13 posted. http://localhost/r/13/ http://localhost/r/13/diff/
Here's the command again with --debug: (rbtools-0.7.3)[sallan@localhost]~/Projects/RBScript% rbt post --debug --repository-type perforce --server http://localhost //depot/Jam/MAIN/src/...@130,@140 >>> RBTools 0.7.3 >>> Python 2.6.6 (r266:84292, Jan 22 2014, 09:42:36) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] >>> Running on Linux-2.6.32-504.16.2.el6.x86_64-x86_64-with-centos-6.6-Final >>> Home = /home/sallan >>> Current directory = /home/sallan/Projects/RBScript >>> Running: git version >>> Checking for a Perforce repository... >>> Running: p4 info >>> Running: diff --version >>> repository info: Path: [u'localhost:1492', u'localhost.localdomain:1492', u'localhost6:1492', u'localhost6.localdomain6:1492'], Base path: None, Supports changesets: True >>> Making HTTP GET request to http://localhost/api/ >>> Making HTTP GET request to http://localhost/api/info/ >>> Running: p4 info >>> Writing "//depot/Jam/MAIN/src/Jamfile#17" to "/tmp/tmpGnFVSP" >>> Running: p4 print -o /tmp/tmpGnFVSP -q //depot/Jam/MAIN/src/Jamfile#17 >>> Writing "//depot/Jam/MAIN/src/Jamfile#18" to "/tmp/tmpREhcGF" >>> Running: p4 print -o /tmp/tmpREhcGF -q //depot/Jam/MAIN/src/Jamfile#18 Traceback (most recent call last): File "/home/sallan/envs/rbtools-0.7.3/bin/rbt", line 9, in <module> load_entry_point('RBTools==0.7.3', 'console_scripts', 'rbt')() File "/home/sallan/envs/rbtools-0.7.3/lib/python2.6/site-packages/RBTools-0.7.3-py2.6.egg/rbtools/commands/main.py", line 133, in main command.run_from_argv([RB_MAIN, command_name] + args) File "/home/sallan/envs/rbtools-0.7.3/lib/python2.6/site-packages/RBTools-0.7.3-py2.6.egg/rbtools/commands/__init__.py", line 612, in run_from_argv exit_code = self.main(*args) or 0 File "/home/sallan/envs/rbtools-0.7.3/lib/python2.6/site-packages/RBTools-0.7.3-py2.6.egg/rbtools/commands/post.py", line 682, in main extra_args=extra_args) File "/home/sallan/envs/rbtools-0.7.3/lib/python2.6/site-packages/RBTools-0.7.3-py2.6.egg/rbtools/clients/perforce.py", line 474, in diff return self._path_diff(extra_args, exclude_patterns) File "/home/sallan/envs/rbtools-0.7.3/lib/python2.6/site-packages/RBTools-0.7.3-py2.6.egg/rbtools/clients/perforce.py", line 1103, in _path_diff local_path = self._depot_to_local(depot_path) File "/home/sallan/envs/rbtools-0.7.3/lib/python2.6/site-packages/RBTools-0.7.3-py2.6.egg/rbtools/clients/perforce.py", line 1281, in _depot_to_local where_output = self.p4.where(depot_path) File "/home/sallan/envs/rbtools-0.7.3/lib/python2.6/site-packages/RBTools-0.7.3-py2.6.egg/rbtools/clients/perforce.py", line 103, in where return self.run_p4(['where', depot_path], marshalled=True) File "/home/sallan/envs/rbtools-0.7.3/lib/python2.6/site-packages/RBTools-0.7.3-py2.6.egg/rbtools/clients/perforce.py", line 154, in run_p4 raise SCMError('Failed to execute command: %s\n' % cmd) rbtools.clients.errors.SCMError: Failed to execute command: [u'p4', u'-G', u'where', '//depot/Jam/MAIN/src/Jamfile'] //depot/Jam/MAIN/src/Jamfile - file(s) not in client view. Same client view and command works on 0.6.3.