From 3b854bee59211a8a1889f3630c5316a71d182c70 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Tue, 19 Jun 2012 19:12:17 +0000 Subject: [PATCH] Make repository identifier accept underscores (#11192). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9875 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/repository.rb | 4 ++-- test/unit/repository_test.rb | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/models/repository.rb b/app/models/repository.rb index 1f8820868..873c22313 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -37,8 +37,8 @@ class Repository < ActiveRecord::Base validates_presence_of :identifier, :unless => Proc.new { |r| r.is_default? || r.set_as_default? } validates_uniqueness_of :identifier, :scope => :project_id, :allow_blank => true validates_exclusion_of :identifier, :in => %w(show entry raw changes annotate diff show stats graph) - # donwcase letters, digits, dashes but not digits only - validates_format_of :identifier, :with => /^(?!\d+$)[a-z0-9\-]*$/, :allow_blank => true + # donwcase letters, digits, dashes, underscores but not digits only + validates_format_of :identifier, :with => /^(?!\d+$)[a-z0-9\-_]*$/, :allow_blank => true # Checks if the SCM is enabled when creating a repository validate :repo_create_validation, :on => :create diff --git a/test/unit/repository_test.rb b/test/unit/repository_test.rb index 0bd9af4b5..bf17b8884 100644 --- a/test/unit/repository_test.rb +++ b/test/unit/repository_test.rb @@ -97,6 +97,15 @@ class RepositoryTest < ActiveSupport::TestCase assert_equal [repository1, repository2], Project.find(3).repositories.sort end + def test_identifier_should_accept_letters_digits_dashes_and_underscores + r = Repository::Subversion.new( + :project_id => 3, + :identifier => 'svn-123_45', + :url => 'file:///svn' + ) + assert r.save + end + def test_destroy repository = Repository.find(10) changesets = repository.changesets.count