4433: Support diffing files propogated to non-source directories with svn:externals

rsbaker56

What version are you running?

0.7.6

What steps will reproduce the problem?

  1. checkout from subversion - workspace must include at least one svn:externals
  2. make changes to a file that is included via an svn:externals reference
  3. rbt post -o

What is the expected output? What do you see instead?

rbt post should create a diff and post a review request to the server

What operating system are you using?

Windows 7

Attach the debug out from the command.

C:\svn\Stealth\dim\branches\su-core>rbt post -o -d

RBTools 0.7.6
Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)]
Running on Windows-7-6.1.7601-SP1
Home = C:\Users\bharatij\AppData\Roaming
Current directory = C:\svn\Stealth\dim\branches\su-core
Checking for a Subversion repository...
Running: svn --non-interactive info https://ustr-svn-2.na.uis.unisys.com/Stealth
Running: diff --version
Running: svn --non-interactive --version -q
repository info: Path: https://ustr-svn-2.na.uis.unisys.com/Stealth, Base path: /, Supports changesets: False
Making HTTP GET request to https://ustr-reviewboard-1.na.uis.unisys.com:8443/stealthreviewboard/api/
Making HTTP GET request to https://ustr-reviewboard-1.na.uis.unisys.com:8443/stealthreviewboard/api/repositories/?tool=Subversion
Cached response for HTTP GET https://ustr-reviewboard-1.na.uis.unisys.com:8443/stealthreviewboard/api/repositories/?tool=Subversion expired and was modified
Running: svn --non-interactive info https://ustr-svn-2.na.uis.unisys.com/Stealth
Running: diff --version
Running: svn --non-interactive --version -q
repository info: Path: https://ustr-svn-2.na.uis.unisys.com/Stealth, Base path: /, Supports changesets: False
Running: svn --non-interactive status -q --ignore-externals
Running: svn --non-interactive diff --diff-cmd=diff --notice-ancestry -r BASE
Running: svn --non-interactive diff --diff-cmd=diff --notice-ancestry -r BASE --no-diff-deleted
Making HTTP GET request to https://ustr-reviewboard-1.na.uis.unisys.com:8443/stealthreviewboard/api/validation/diffs/
Cached response for HTTP GET https://ustr-reviewboard-1.na.uis.unisys.com:8443/stealthreviewboard/api/validation/diffs/ expired and was modified
Making HTTP POST request to https://ustr-reviewboard-1.na.uis.unisys.com:8443/stealthreviewboard/api/validation/diffs/
Got API Error 207 (HTTP code 400): The file was not found in the repository.
Error data: {u'stat': u'fail', u'file': u'/StealthManager/StealthManager/PackageTable.cpp', u'err': {u'msg': u'The file was not found in the repository.', u'code': 207}, u'revision': u'41723'}
Traceback (most recent call last):
File "C:\Program Files (x86)\RBTools\bin..\Python27\Scripts\rbt-script.py", line 8, in <module>
load_entry_point('RBTools==0.7.6', 'console_scripts', 'rbt')()
File "C:\Program Files (x86)\RBTools\Python27\lib\site-packages\rbtools-0.7.6-py2.7.egg\rbtools\commands\main.py", line 133, in main
command.run_from_argv([RB_MAIN, command_name] + args)
File "C:\Program Files (x86)\RBTools\Python27\lib\site-packages\rbtools-0.7.6-py2.7.egg\rbtools\commands__init__.py", line 629, in run_from_argv
exit_code = self.main(*args) or 0
File "C:\Program Files (x86)\RBTools\Python27\lib\site-packages\rbtools-0.7.6-py2.7.egg\rbtools\commands\post.py", line 756, in main
(msg_prefix, e))
rbtools.commands.CommandError: Error validating diff

/StealthManager/StealthManager/PackageTable.cpp: The file was not found in the repository. (HTTP 400, API Error 207)

C:\svn\Stealth\dim\branches\su-core>

Please provide any additional information below.

The subversion repository has a number of files that are propogated to various folders using the svn:externals property. It appears that if one of these files is changed in a location other than its source directory this error occurs in rbt. If the file is changed in its source directory, the rbt will successfullly generate the diff and post the review request.

brennie
#1 brennie
  • -rbt post fails with "file was not found in the repository"
    +Support diffing files propogated to non-source directories with svn:externals
brennie
#2 brennie
  • +SCM:Subversion
brennie
#3 brennie
  • -rbtools
    +reviewboard