http://projects.andriylesyuk.com/http://projects.andriylesyuk.com/plugin_assets/andriy_lesyuk/images/s-andy.ico2018-07-20T11:30:05ZProjectsISSUE-id - Bug #2445: SVN integration: Commit with new issue-id does not workhttp://projects.andriylesyuk.com/issues/ISSUE-17?journal_id=31512018-07-20T11:30:05ZAndriy Lesyuks-andy@andriylesyuk.com
<ul><li><strong>Tracker</strong> changed from <i>Omission</i> to <i>Bug</i></li><li><strong>Status</strong> changed from <i>New</i> to <i>Under Verification</i></li><li><strong>Assignee</strong> set to <i>Andriy Lesyuk</i></li><li><strong>Priority</strong> changed from <i>Normal</i> to <i>Major</i></li><li><strong>Target version</strong> set to <i>0.0.3</i></li><li><strong>Start date</strong> set to <i>20 Jul 2018</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>50</i></li></ul><p><a class="user active" href="http://projects.andriylesyuk.com/users/dwieselwind">daniel</a>, <a class="changeset" title="Fix typo (#ISSUE-17)" href="http://projects.andriylesyuk.com/projects/issue-id/repository/revisions/39">r39</a> can fix this issue. Please test <em>(you’ll need to update code from SVN/Git)</em>.</p> ISSUE-id - Bug #2445: SVN integration: Commit with new issue-id does not workhttp://projects.andriylesyuk.com/issues/ISSUE-17?journal_id=31522018-07-21T07:10:30Zdaniel wieselwind
<ul></ul><p>Hi,</p>
<p>I have tried several commit messages, and am able to break all commits with a (malformed) “refs 2802” here:</p>
<pre>
/var/www/redmine/plugins/redmine_issue_checklist/init.rb:24: warning: key :issue_checklist is duplicated and overwritten on line 24
rake aborted!
NoMethodError: undefined method `include?' for 2802:Integer
/var/www/redmine/plugins/issue_id/lib/issue_changeset_patch.rb:38:in `find_referenced_issue_by_id_with_full_id'
/var/www/redmine/app/models/changeset.rb:134:in `block (2 levels) in scan_comment_for_issue_ids'
/var/www/redmine/app/models/changeset.rb:133:in `each'
/var/www/redmine/app/models/changeset.rb:133:in `block in scan_comment_for_issue_ids'
/var/www/redmine/app/models/changeset.rb:129:in `scan'
/var/www/redmine/app/models/changeset.rb:129:in `scan_comment_for_issue_ids'
/var/www/redmine/plugins/issue_id/lib/issue_changeset_patch.rb:77:in `scan_comment_for_issue_ids_with_full_ids'
/var/www/redmine/plugins/redmine_code_review/lib/code_review_changeset_patch.rb:167:in `scan_comment_for_issue_ids_with_code_review'
/var/www/redmine/app/models/changeset.rb:102:in `scan_for_issues'
/usr/local/rvm/gems/ruby-2.4.1/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:432:in `block in make_lambda'
/usr/local/rvm/gems/ruby-2.4.1/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:228:in `block in halting_and_conditional'
/usr/local/rvm/gems/ruby-2.4.1/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:506:in `block in call'
/usr/local/rvm/gems/ruby-2.4.1/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:506:in `each'
/usr/local/rvm/gems/ruby-2.4.1/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:506:in `call'
/usr/local/rvm/gems/ruby-2.4.1/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:92:in `__run_callbacks__'
/usr/local/rvm/gems/ruby-2.4.1/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:778:in `_run_create_callbacks'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/callbacks.rb:306:in `_create_record'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/timestamp.rb:57:in `_create_record'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/persistence.rb:504:in `create_or_update'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/callbacks.rb:302:in `block in create_or_update'
/usr/local/rvm/gems/ruby-2.4.1/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:117:in `call'
/usr/local/rvm/gems/ruby-2.4.1/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
/usr/local/rvm/gems/ruby-2.4.1/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:505:in `call'
/usr/local/rvm/gems/ruby-2.4.1/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:92:in `__run_callbacks__'
/usr/local/rvm/gems/ruby-2.4.1/gems/activesupport-4.2.8/lib/active_support/callbacks.rb:778:in `_run_save_callbacks'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/callbacks.rb:302:in `create_or_update'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/persistence.rb:120:in `save'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/validations.rb:37:in `save'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/attribute_methods/dirty.rb:21:in `save'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/transactions.rb:286:in `block (2 levels) in save'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/transactions.rb:351:in `block in with_transaction_returning_status'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `transaction'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/transactions.rb:220:in `transaction'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/transactions.rb:348:in `with_transaction_returning_status'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/transactions.rb:286:in `block in save'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/transactions.rb:301:in `rollback_active_record_state!'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/transactions.rb:285:in `save'
/usr/local/rvm/gems/ruby-2.4.1/gems/protected_attributes-1.1.4/lib/active_record/mass_assignment_security/persistence.rb:46:in `create'
/var/www/redmine/app/models/repository/subversion.rb:72:in `block (2 levels) in fetch_changesets'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `block in transaction'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/connection_adapters/abstract/transaction.rb:184:in `within_new_transaction'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `transaction'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/transactions.rb:220:in `transaction'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/transactions.rb:277:in `transaction'
/var/www/redmine/app/models/repository/subversion.rb:71:in `block in fetch_changesets'
/var/www/redmine/app/models/repository/subversion.rb:70:in `reverse_each'
/var/www/redmine/app/models/repository/subversion.rb:70:in `fetch_changesets'
/var/www/redmine/app/models/repository.rb:346:in `block (2 levels) in fetch_changesets'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/relation/delegation.rb:46:in `each'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/relation/delegation.rb:46:in `each'
/var/www/redmine/app/models/repository.rb:344:in `block in fetch_changesets'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/relation/delegation.rb:46:in `each'
/usr/local/rvm/gems/ruby-2.4.1/gems/activerecord-4.2.8/lib/active_record/relation/delegation.rb:46:in `each'
</pre>
<p>I have patched this with</p>
<blockquote><blockquote>
<p>if id.present? && id.to_s.include?('-')</p>
</blockquote></blockquote>
<p>and bypassed this issue.</p>
<p>However, our programmers don’t always write uppercase, we need to change issue_changeset_patch.rb(17)!:</p>
<blockquote><blockquote>
<p>ISSUE_ID_RE = %r{[A-Za-z][a-zA-Z0-9]*-\d+}</p>
</blockquote></blockquote>