3864: "rbt post //depot/path/...@r1,@r2" throws an exception in 0.7.2 and no review request gets created

seide******@gmai***** (Google Code) (Is this you? Claim this profile.)
david
david
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.
david
#1 david
  • +PendingReview
  • +Component-RBTools
  • +david
david
#2 david
Fixed in release-0.7.x (1a61c2a). This will ship in 0.7.3. Thanks!
  • -PendingReview
    +Fixed
#3 seide******@gmai***** (Google Code) (Is this you? Claim this profile.)
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/

chipx86
#4 chipx86
  • -Fixed
    +Confirmed
david
#5 david
Please run that command again with --debug and attach the output.
  • -Confirmed
    +NeedInfo
#6 seide******@gmai***** (Google Code) (Is this you? Claim this profile.)
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.
david
#7 david
  • -NeedInfo
    +Started
david
#8 david
Fixed in release-0.7.x (38a857c). This will ship in 0.7.5. Thanks!
  • -Started
    +Fixed