Defect #1275

View differences for individual file of a changeset fails if the repository URL doesn't point to the repository root

Added by Anonymous over 9 years ago. Updated over 9 years ago.

Status:ClosedStart date:2008-05-21
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:SCM
Target version:0.7.2
Resolution:Fixed Affected version:0.7.1

Description

Our SVN repository serves many projects. The structure is

|
|-Project1
|  |
|  |-trunk
|  |-branches
|  |-tags
|
|-Project2
|  |
|  |-trunk
|  |-branches
|  |-tags

So in Redmine, our repository settings for Project 2, point to the project 2 folder, not the root of the repository (a nice feature, not sure if it was intended but very useful because we have many projects in a single repository). (e.g. repository URL is set to http://server/svn/Project2 rather than http://server/svn

If we view a changeset, we get a correct list of the changed files. If we then click the 'view differences' button for the changeset, it correctly shows all differences in all files.

But if instead select 'view differences' for an individual file, we get a redmine page saying "The entry or revision was not found in the repository." which is definitely incorrect.

I believe this is to do with Redmine not matching the paths directly (from looking at the error message). This is the error (I've edited the error paths so that our project names don't appear)

Processing RepositoriesController#diff (for 172.16.75.119 at 2008-05-21 09:41:30) [GET]
  Session ID: 54cbe17bee37f0fe2d00d59a8e07c077
  Parameters: {"rev"=>"26121", "action"=>"diff", "id"=>"project2", "controller"=>"repositories", "path"=>["Project2", "trunk", "File1.cs"]}
Rendering template within layouts/base
Completed in 0.46900 (2 reqs/sec) | Rendering: 0.01600 (3%) | DB: 0.00000 (0%) | 500 Internal Server Error [http://server/repositories/diff/project2/trunk/File1.cs?rev=666]

I wonder if redmine is just appending the full path to the file to the repository URL when actually it should merge backwards (e.g. it is querying for http://server/svn/Project2/Project2/trunk/File1.cs rather than http://server/svn/Project2/trunk/File.cs because the repository URL is http://server/svn/Project2, not http://server/svn/ (which is the repository root). In this case it should merge the end of the repository URL with the start of the requested file URL.

  • redmine-0.7.1
  • svn-1.4.6 (over http)
  • ruby-1.8.6
  • rails-2.0.2
  • sqlite3-3.5.8
  • mongrel-1.1.4

Related issues

Related to Redmine - Defect #1262: Subversion repository "View differences" on each file ris... Closed 2008-05-20
Related to Redmine - Defect #1209: "View differences" of one file at /repositories/revision/... Closed 2008-05-08
Related to Redmine - Defect #990: Repository: View differences doesn't work Closed 2008-04-03

Associated revisions

Revision 1446
Added by Jean-Philippe Lang over 9 years ago

Fixed: View differences for individual file of a changeset fails if the subversion repository URL doesn't point to the repository root (#1209, #1262, #1275).

History

#1 Updated by Anonymous over 9 years ago

Please ignore the fact that the revision numbers don't tie up in the above error message, as mentioned, I edited it to remove references to our project names and changed the revision number in one place, not the other. In the actual error message, they do match and are correct for what I was trying to view.

#2 Updated by juho valtonen over 9 years ago

  • % Done changed from 0 to 30

Hey all

#3 Updated by Anonymous over 9 years ago

  • % Done changed from 30 to 0

I'm guessing this is a bogus change.

#4 Updated by Sergej Jegorov over 9 years ago

the same problem #1262

#5 Updated by Sergej Jegorov over 9 years ago

If you change in Redmine Project2 identifier (o create a new project with "identifier != Project2"), then all works fine.

#6 Updated by Sergej Jegorov over 9 years ago

I'm sorry
You right. If the repository URL doesn't point to the repository root then rise an error.

Our SVN repository structure is

|-Software | |-Project1 | | | |-trunk | |-branches | |-tags | |-Project2 | | | |-trunk | |-branches | |-tags
And repository URL is set to http://server/svn/software/Project2

#7 Updated by Anonymous over 9 years ago

Hi Sergej, yes you are right, it is the same issue. I did try a search for this before posting the issue, but didn't come up with yours. Please can one of the admins mark one as a duplicate of the other?

Thanks

Russell

#8 Updated by Jean-Philippe Lang over 9 years ago

  • Category set to SCM
  • Status changed from New to Closed
  • Resolution set to Fixed

Fixed in r1446.

Also available in: Atom PDF