1272: Review Board overwrites custom SCMTool db entries on addition of new SCMTools after upgrade

psc***@vmwar***** (Google Code) (Is this you? Claim this profile.)
chipx86
chipx86
Aug. 19, 2009
What version are you running?
1.0.1 (upgraded from 1.0rc3)

What's the URL of the page containing the problem?
https://reviewboard.eng.vmware.com/r/94479/diff/

What steps will reproduce the problem?
1. Upgrade server so 1.0.1 using the standard process.
2. Go to the diff for a review.

What is the expected output? What do you see instead?
Expected output is the normal diff page. Instead we get the following error:

substring not found

Traceback (most recent call last):
  File
"/usr/lib/python2.5/site-packages/ReviewBoard-1.0.1-py2.5.egg/reviewboard/diffviewer/views.py",
line 152, in view_diff
    interdiffset, highlighting, True)
  File
"/usr/lib/python2.5/site-packages/ReviewBoard-1.0.1-py2.5.egg/reviewboard/diffviewer/diffutils.py",
line 623, in get_diff_files
    large_data=True)
  File
"/usr/lib/python2.5/site-packages/Djblets-0.5.1-py2.5.egg/djblets/util/misc.py",
line 144, in cache_memoize
    data = lookup_callable()
  File
"/usr/lib/python2.5/site-packages/ReviewBoard-1.0.1-py2.5.egg/reviewboard/diffviewer/diffutils.py",
line 622, in <lambda>
    enable_syntax_highlighting),
  File
"/usr/lib/python2.5/site-packages/ReviewBoard-1.0.1-py2.5.egg/reviewboard/diffviewer/diffutils.py",
line 344, in get_chunks
    old = get_original_file(filediff)
  File
"/usr/lib/python2.5/site-packages/ReviewBoard-1.0.1-py2.5.egg/reviewboard/diffviewer/diffutils.py",
line 251, in get_original_file
    large_data=True)[0]
  File
"/usr/lib/python2.5/site-packages/Djblets-0.5.1-py2.5.egg/djblets/util/misc.py",
line 144, in cache_memoize
    data = lookup_callable()
  File
"/usr/lib/python2.5/site-packages/ReviewBoard-1.0.1-py2.5.egg/reviewboard/diffviewer/diffutils.py",
line 250, in <lambda>
    data = cache_memoize(key, lambda: [fetch_file(file, revision)],
  File
"/usr/lib/python2.5/site-packages/ReviewBoard-1.0.1-py2.5.egg/reviewboard/diffviewer/diffutils.py",
line 229, in fetch_file
    data = tool.get_file(file, revision)
  File
"/usr/lib/python2.5/site-packages/ReviewBoard-1.0.1-py2.5.egg/reviewboard/scmtools/clearcase.py",
line 43, in get_file
    return self.client.cat_file(self.adjust_path(path), revision)
  File
"/usr/lib/python2.5/site-packages/ReviewBoard-1.0.1-py2.5.egg/reviewboard/scmtools/clearcase.py",
line 81, in adjust_path
    elem_path = elem_path[elem_path.rindex("vobs/")+5:]
ValueError: substring not found

There's also an error when trying to post a review with post-review.

Please provide any additional information below.
Well, for one we don't use ClearCase. This appears to be the same problem
as in the "Trouble posting reviews since 1.0.1 upgrade" thread on the
reviewboard mailing list. After talking with chipx86, this probably happens
because we have a custom SCM tool which is overwritten by the upgrade
(which adds in a ClearCase tool).
chipx86
#1 chipx86
  • +Started
  • -Priority-Medium
    +Priority-Critical
    +Milestone-Release1.0.x
    +Component-SCMTools
  • +Review Board overwrites custom SCMTool db entries on addition of new SCMTools after upgrade
  • +chipx86
chipx86
#2 chipx86
Fixed in r2099.
  • -Started
    +Fixed