From e1e006f09e1accc5a821c2e0c5d72d0473bfb123 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 28 Jul 2013 20:48:52 +0000 Subject: [PATCH] Merged r12017 and r12027 from trunk (#14422). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/2.3-stable@12065 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- lib/redmine/scm/adapters/cvs_adapter.rb | 2 +- .../lib/redmine/scm/adapters/cvs_adapter_test.rb | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/redmine/scm/adapters/cvs_adapter.rb b/lib/redmine/scm/adapters/cvs_adapter.rb index 3a0d27c34..d1096e725 100644 --- a/lib/redmine/scm/adapters/cvs_adapter.rb +++ b/lib/redmine/scm/adapters/cvs_adapter.rb @@ -335,7 +335,7 @@ module Redmine # :pserver:anonymous@foo.bar:/path => /path # :ext:cvsservername:/path => /path def root_url_path - root_url.to_s.gsub(/^:.+:\d*/, '') + root_url.to_s.gsub(%r{^:.+?(?=/)}, '') end # convert a date/time into the CVS-format diff --git a/test/unit/lib/redmine/scm/adapters/cvs_adapter_test.rb b/test/unit/lib/redmine/scm/adapters/cvs_adapter_test.rb index 26e962ce7..b41ff06b3 100644 --- a/test/unit/lib/redmine/scm/adapters/cvs_adapter_test.rb +++ b/test/unit/lib/redmine/scm/adapters/cvs_adapter_test.rb @@ -79,6 +79,22 @@ begin assert_equal "UTF-8", adpt2.path_encoding end + def test_root_url_path + to_test = { + ':pserver:cvs_user:cvs_password@123.456.789.123:9876/repo' => '/repo', + ':pserver:cvs_user:cvs_password@123.456.789.123/repo' => '/repo', + ':pserver:cvs_user:cvs_password@cvs_server:/repo' => '/repo', + ':pserver:cvs_user:cvs_password@cvs_server:9876/repo' => '/repo', + ':pserver:cvs_user:cvs_password@cvs_server/repo' => '/repo', + ':pserver:cvs_user:cvs_password@cvs_server/path/repo' => '/path/repo', + ':ext:cvsservername:/path' => '/path' + } + + to_test.each do |string, expected| + assert_equal expected, Redmine::Scm::Adapters::CvsAdapter.new('foo', string).send(:root_url_path), "#{string} failed" + end + end + private def test_scm_version_for(scm_command_version, version)