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.