From: Jean-Philippe Lang Date: Mon, 16 Nov 2009 19:39:16 +0000 (+0000) Subject: Use /raw/ for url instead of ?format=raw for getting raw repository files (#1901... X-Git-Tag: 0.9.0~187 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e24358bc4374f68ad3000e88ae4c3f686b1f4b2b;p=redmine.git Use /raw/ for url instead of ?format=raw for getting raw repository files (#1901, #4119). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3074 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/config/routes.rb b/config/routes.rb index 21e33f501..dbb159c33 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -224,7 +224,11 @@ ActionController::Routing::Routes.draw do |map| repository_views.connect 'projects/:id/repository/revisions/:rev', :action => 'revision' repository_views.connect 'projects/:id/repository/revisions/:rev/diff', :action => 'diff' repository_views.connect 'projects/:id/repository/revisions/:rev/diff.:format', :action => 'diff' + repository_views.connect 'projects/:id/repository/revisions/:rev/raw/*path', :action => 'entry', :format => 'raw', :requirements => { :rev => /[a-z0-9\.\-_]+/ } repository_views.connect 'projects/:id/repository/revisions/:rev/:action/*path', :requirements => { :rev => /[a-z0-9\.\-_]+/ } + repository_views.connect 'projects/:id/repository/raw/*path', :action => 'entry', :format => 'raw' + # TODO: why the following route is required? + repository_views.connect 'projects/:id/repository/entry/*path', :action => 'entry' repository_views.connect 'projects/:id/repository/:action/*path' end diff --git a/test/functional/repositories_controller_test.rb b/test/functional/repositories_controller_test.rb index 5ff2a6a92..7ed7b5bbc 100644 --- a/test/functional/repositories_controller_test.rb +++ b/test/functional/repositories_controller_test.rb @@ -144,6 +144,20 @@ class RepositoriesControllerTest < ActionController::TestCase :controller => 'repositories', :action => 'entry', :id => 'restmine', :path => %w[path to file.c], :rev => '2' ) end + + def test_raw_routing + assert_routing( + {:method => :get, :path => '/projects/restmine/repository/raw/path/to/file.c'}, + :controller => 'repositories', :action => 'entry', :id => 'restmine', :path => %w[path to file.c], :format => 'raw' + ) + end + + def test_raw_routing_with_revision + assert_routing( + {:method => :get, :path => '/projects/restmine/repository/revisions/2/raw/path/to/file.c'}, + :controller => 'repositories', :action => 'entry', :id => 'restmine', :path => %w[path to file.c], :format => 'raw', :rev => '2' + ) + end def test_annotate_routing assert_routing(