post-review [subversion] fails to find correct repository | Issue 1151

Review Request #881 — Created June 4, 2009 and discarded

Information

Review Board SVN (deprecated)

Reviewers

Issue 1151: http://code.google.com/p/reviewboard/issues/detail?id=1151

What steps will reproduce the problem?
1. I have 2 different subversion repositories. They have the same repository UUID (same server, different addresses)
2. Both repositories are created in review-board as repository 1 and 2
3. post-review in a folder that belongs to repository 2
4. post-review incorrectly detects the file as belonging to repository 1

What is the expected output? What do you see instead?
post-review detects the correct repost

What operating system are you using? What browser?
post-review on winxp, python 2.5.1 
review-board server on ubuntu 9.04

Please provide any additional information below.
The problem seems to be that only relative paths are looked at, and that it is not checked if the repos urls are the same. I cannot really figure out what the _get_relative_path on line 196 i ment to do. Simply removing the call to this function and replacing it with a check on he repos url. Not sure if this is the correct way to do this, but it seems to work?

 
david
  1. Why do you have two different repositories with the same UUID? It seems to me that doing that is a fundamentally wrong thing to do.
    1. Not sure why we have this (its something I'm currently investigating). However, the case is that subversion allows having multiple repositories with the same UUID (http://svnbook.red-bean.com/en/1.5/svn.reposadmin.maint.html, Managing Repository UUIDs). post-review should support this by first checking the UUIDs and next the repository paths. This also seems to be intent in the code, but the logic is wrong. 
  2. 
      
david
  1. In fact, this breaks the very point of the UUID checking, which is to check for cases where the path is different but the repository is the same.
    
    I'm going to go out on a limb and say that having two repositories which are different but have the same UUID is a broken setup. The only case where you want the UUID to be the same is for something like a backup.
  2.