2966: SVN Path persisted in FileDiff.source_file which makes it break when the repository path is migrated to a new path

lamo*****@gmai***** (Google Code) (Is this you? Claim this profile.)
Feb. 1, 2014
What version are you running?
1.7.6

What's the URL of the page containing the problem?
/r/<ID>/diff/

What steps will reproduce the problem?
1. Create a subversion repository (path something like http://hostname/svn/path)
2. Post Review against subversion repository
3. Change Path of subversion Repository (think deprecating old server, moving to new server situation; new path https://newhostname/svn/path)

What is the expected output? What do you see instead?
Old Reviews (against the old path) blow up because they attempt to access the old location (because its persisted in FileDiff.source_file column of the database table)

I would expect the review would continue to work and simply use the new path associated with the repository.  The correct fix would be to not persist the repository part of the path in source_file.

What operating system are you using? What browser?
Mac. Chrome.

Please provide any additional information below.
chipx86
#1 chipx86
I assume you're invoking post-review not from a local repository but by diffing against a remote repository? If so, there's nothing we can do about this. This is svn diff generating the path.
#2 lamo*****@gmai***** (Google Code) (Is this you? Claim this profile.)
AFAIK, the user is running post-review from the sandbox.

Regardless, I can't imagine it would be a bad thing to strip the repo.path from the source_file and then prepend it later when get_file() is called right?
david
#3 david
  • +Component-DiffParser
david
#4 david
We really haven't seen this very much, and it's definitely impossible when using rbtools to make the diff. I'm going to close for now and if we encounter this in the future we'll reevaluate.
  • +UserError