From 8cbe5014b18dd88c4224a9e579d11ed5e5f6a17b Mon Sep 17 00:00:00 2001 From: Go MAEDA Date: Thu, 1 Sep 2022 06:47:06 +0000 Subject: [PATCH] Merged r21792 from trunk to 5.0-stable (#36258). git-svn-id: https://svn.redmine.org/redmine/branches/5.0-stable@21794 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- lib/redmine/scm/adapters/mercurial_adapter.rb | 2 +- .../repositories/mercurial_repository.hg | Bin 12100 -> 12442 bytes .../repositories_mercurial_controller_test.rb | 2 +- .../scm/adapters/mercurial_adapter_test.rb | 20 +++++++++++++++--- test/unit/repository_mercurial_test.rb | 6 +++--- 5 files changed, 22 insertions(+), 8 deletions(-) diff --git a/lib/redmine/scm/adapters/mercurial_adapter.rb b/lib/redmine/scm/adapters/mercurial_adapter.rb index da831323f..43e248a25 100644 --- a/lib/redmine/scm/adapters/mercurial_adapter.rb +++ b/lib/redmine/scm/adapters/mercurial_adapter.rb @@ -230,7 +230,7 @@ module Redmine end ), :time => Time.parse(le['date']['__content__']), - :message => CGI.unescape(le['msg']['__content__']), + :message => CGI.unescape(le['msg']['__content__'] || ''), :paths => paths, :parents => parents_ary) end diff --git a/test/fixtures/repositories/mercurial_repository.hg b/test/fixtures/repositories/mercurial_repository.hg index 33a5d135e7964295afc066c7bf549703ed37a4af..1388fc3593aa668677bb257ff436552ee8072d82 100644 GIT binary patch literal 12442 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 YGHz9Qh91kgyTANh$rRy2L3N?lfDmwU00000 literal 12100 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', revisions[0].author + assert_equal '', revisions[0].message + end + def test_parents revs1 = @adapter.revisions(nil, 0, 0) assert_equal 1, revs1.size @@ -349,7 +357,12 @@ class MercurialAdapterTest < ActiveSupport::TestCase @adapter.branches.each do |b| branches << b end - assert_equal 9, branches.length + assert_equal 10, branches.length + + branch = branches[-10] + assert_equal 'branch-empty-message', branch.to_s + assert_equal '42', branch.revision + assert_equal 'ba20ebce08dbd2f0320b93faf7bba7c86186a1f7', branch.scmid branch = branches[-9] assert_equal 'double"quote"branch', branch.to_s @@ -400,6 +413,7 @@ class MercurialAdapterTest < ActiveSupport::TestCase def test_branchmap bm = { + 'branch-empty-message' => 'ba20ebce08dbd2f0320b93faf7bba7c86186a1f7', 'double"quote"branch' => '04aed9840e9266e535f5f20f7e42c9f9f84f9cf4', 'issue-23055-ctrl-char' => '3e998343166a1b8273973bcd46dd2bad74344d74', 'default' => '31eeee7395c8c78e66dd54c50addd078d10b2355', diff --git a/test/unit/repository_mercurial_test.rb b/test/unit/repository_mercurial_test.rb index 622ee5b69..d383394bd 100644 --- a/test/unit/repository_mercurial_test.rb +++ b/test/unit/repository_mercurial_test.rb @@ -25,7 +25,7 @@ class RepositoryMercurialTest < ActiveSupport::TestCase include Redmine::I18n REPOSITORY_PATH = Rails.root.join('tmp/test/mercurial_repository').to_s - NUM_REV = 40 + NUM_REV = 43 def setup User.current = nil @@ -170,7 +170,7 @@ class RepositoryMercurialTest < ActiveSupport::TestCase @repository.fetch_changesets @project.reload assert_equal NUM_REV, @repository.changesets.count - assert_equal 51, @repository.filechanges.count + assert_equal 53, @repository.filechanges.count rev0 = @repository.changesets.find_by_revision('0') assert_equal "Initial import.\nThe repository contains 3 files.", rev0.comments @@ -597,7 +597,7 @@ class RepositoryMercurialTest < ActiveSupport::TestCase @repository.fetch_changesets @project.reload assert_equal NUM_REV, @repository.changesets.count - [(NUM_REV - 1).to_s, "04aed9840e92", "04aed"].each do |r1| + [(NUM_REV - 1).to_s, "ba20ebce08db", "ba20e"].each do |r1| changeset = @repository.find_changeset_by_name(r1) assert_nil changeset.next end -- 2.39.5