]> source.dussan.org Git - redmine.git/commitdiff
Make repository identifier accept underscores (#11192).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Tue, 19 Jun 2012 19:12:17 +0000 (19:12 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Tue, 19 Jun 2012 19:12:17 +0000 (19:12 +0000)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9875 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/repository.rb
test/unit/repository_test.rb

index 1f8820868a7ea256da420b53bc9f3261d03df1ca..873c223134ce8670ee8731fcbaf88a6f87b67196 100644 (file)
@@ -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
 
index 0bd9af4b5491f610857e0d4185d5f04ca474fa0a..bf17b888455c834ffcb30f726627f14266e580fe 100644 (file)
@@ -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