From 3b854bee59211a8a1889f3630c5316a71d182c70 2012-06-19 19:12:17 From: Jean-Philippe Lang Date: 2012-06-19 19:12:17 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 --- diff --git a/app/models/repository.rb b/app/models/repository.rb index 1f88208..873c223 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 0bd9af4..bf17b88 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