summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2014-01-12 09:19:47 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2014-01-12 09:19:47 +0000
commit5df064ed85711ceecdcfbdd66402672cca2b0d58 (patch)
tree0db99d41c6bf2dc15a04aa1c095dda2248d03ec9
parentb25c7003da4b0baef84e0b6a68e411bfec7d6177 (diff)
downloadredmine-5df064ed85711ceecdcfbdd66402672cca2b0d58.tar.gz
redmine-5df064ed85711ceecdcfbdd66402672cca2b0d58.zip
Fixed Changeset#text_tag for changeset with hash and repository identifier (#13544).
git-svn-id: http://svn.redmine.org/redmine/trunk@12660 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/models/changeset.rb11
-rw-r--r--test/unit/changeset_test.rb10
2 files changed, 16 insertions, 5 deletions
diff --git a/app/models/changeset.rb b/app/models/changeset.rb
index 365981124..1040282da 100644
--- a/app/models/changeset.rb
+++ b/app/models/changeset.rb
@@ -154,13 +154,14 @@ class Changeset < ActiveRecord::Base
end
def text_tag(ref_project=nil)
+ repo = ""
+ if repository && repository.identifier.present?
+ repo = "#{repository.identifier}|"
+ end
tag = if scmid?
- "commit:#{scmid}"
+ "commit:#{repo}#{scmid}"
else
- "r#{revision}"
- end
- if repository && repository.identifier.present?
- tag = "#{repository.identifier}|#{tag}"
+ "#{repo}r#{revision}"
end
if ref_project && project && ref_project != project
tag = "#{project.identifier}:#{tag}"
diff --git a/test/unit/changeset_test.rb b/test/unit/changeset_test.rb
index d1ac607b4..9eb46594c 100644
--- a/test/unit/changeset_test.rb
+++ b/test/unit/changeset_test.rb
@@ -343,6 +343,16 @@ class ChangesetTest < ActiveSupport::TestCase
assert_equal 'commit:0123456789', c.text_tag
end
+ def test_text_tag_hash_with_repository_identifier
+ r = Repository::Subversion.new(
+ :project_id => 1,
+ :url => 'svn://localhost/test',
+ :identifier => 'documents')
+ c = Changeset.new(:revision => '7234cb27', :scmid => '7234cb27', :repository => r)
+ assert_equal 'commit:documents|7234cb27', c.text_tag
+ assert_equal 'ecookbook:commit:documents|7234cb27', c.text_tag(Project.find(2))
+ end
+
def test_previous
changeset = Changeset.find_by_revision('3')
assert_equal Changeset.find_by_revision('2'), changeset.previous