Patch #36258

Support revision without any message

Added by salman mp about 1 month ago. Updated 23 days ago.

Status:NewStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:SCM
Target version:Candidate for next minor release

Description

In sophesticated position a repository may contain revision without message.

empty_message.diff Magnifier (809 Bytes) salman mp, 2021-11-29 16:32

0001-Update-test-fixtures-repositories-mercurial_reposito.patch Magnifier (31.5 KB) Yuichi HARADA, 2021-12-24 06:38

0002-Update-tests-and-add-a-test-for-empty-commit-message.patch Magnifier (4.67 KB) Yuichi HARADA, 2021-12-24 06:38

History

#1 Updated by Go MAEDA about 1 month ago

I'm not familiar with Mercurial, so I don't understand the improvements the patch brings. Could you explain the benefits?

#2 Updated by salman mp about 1 month ago

Mercurial is very similar to git. I added another source to my repository, and when did pull from that source, unbelievably there is a revision without any commit message. When I wanted to fetch changesets, there was an exception (line that patched).

#3 Updated by Go MAEDA about 1 month ago

Thank you, I understand the situation.

Can you please paste the error message in production.log?

#4 Updated by salman mp about 1 month ago

Go MAEDA wrote:

Thank you, I understand the situation.

Can you please paste the error message in production.log?

Started GET "/projects/test/repository" for 31.57.0.155 at 2021-12-22 11:18:02 +0330
App 2260378 output: Processing by RepositoriesController#show as HTML
App 2260378 output:   Parameters: {"id"=>"test"}
App 2260378 output:   Current user: user (id=1)
App 2260378 output: Completed 500 Internal Server Error in 706ms (ActiveRecord: 6.4ms)
App 2260378 output:   
App 2260378 output: TypeError (no implicit conversion of nil into String):
App 2260378 output:   
App 2260378 output: lib/redmine/scm/adapters/mercurial_adapter.rb:233:in `unescape'
App 2260378 output: lib/redmine/scm/adapters/mercurial_adapter.rb:233:in `block in each_revision'
App 2260378 output: lib/redmine/scm/adapters/mercurial_adapter.rb:203:in `each'
App 2260378 output: lib/redmine/scm/adapters/mercurial_adapter.rb:203:in `each_revision'
App 2260378 output: app/models/repository/mercurial.rb:194:in `block in fetch_changesets'
App 2260378 output: app/models/repository/mercurial.rb:193:in `step'
App 2260378 output: app/models/repository/mercurial.rb:193:in `fetch_changesets'
App 2260378 output: app/controllers/repositories_controller.rb:87:in `show'
App 2260378 output: lib/redmine/sudo_mode.rb:61:in `sudo_mode'

#5 Updated by Yuichi HARADA 29 days ago

I have confirmed this issue. Applying the patch(empty_message.diff) solved it. thank you.
I created MercurialAdapterTest#test_empty_message because there was no test.

#6 Updated by Go MAEDA 23 days ago

  • Target version set to Candidate for next minor release

Also available in: Atom PDF