I'm looking for a part-time remote job.

Hire me


I'm the author of:

Mastering Redmine is a comprehensive guide with tips, tricks and best practices, and an easy-to-learn structure.

Check the book's project or

Buy the book

Social pages of the book:

By buying this book you also donate to Redmine (see this page).


Follow me:

Bug #2135

Unable to create repositories when the checkout plugin is also installed

Added by Lluís - about 12 years ago. Updated over 11 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
Start date:
19 Dec 2012
Due date:
19 May 2013
% Done:

100%

Redmine version:
External issue:

Description

Please see #2040 (note-21) for a description of the error.

Sorry, I forgot to watch that issue and didn’t come back to it until now.

Here’s the log with the latest versions for the redmine_scm and redmine_checkout plugins:

Processing RepositoriesController#create (for ... at 2012-12-19 21:25:27) [POST]
  Parameters: {"commit"=>"Create new repository", "controller"=>"repositories", "project_id"=>"lamp-hw", "operation"=>"add", "action"=>"create", "authenticity_token"=>"...", "repository_scm"=>"Git", "repository"=>{"identifier"=>"test", "extra_report_last_commit"=>"0", "checkout_description"=>"The data contained in this repository can be downloaded to your computer using one of several clients.\r\nPlease see the documentation of your version control software client for more information.\r\n\r\nPlease select the desired protocol below to get the URL.\r\n", "url"=>"....test", "checkout_display_command"=>"1", "checkout_protocols"=>{"0"=>{"access"=>"permission", "protocol"=>"Git", "fixed_url"=>"", "command"=>"git clone", "is_default"=>"1"}, "-1"=>{"protocol"=>"empty"}}, "checkout_overwrite"=>"0", "path_encoding"=>"", "is_default"=>"0"}}

NoMethodError (undefined method `merge_extra_info' for nil:NilClass):
  /usr/lib/ruby/vendor_ruby/action_controller/base.rb:1333:in `send'
  /usr/lib/ruby/vendor_ruby/action_controller/base.rb:1333:in `perform_action_without_filters'
  /usr/lib/ruby/vendor_ruby/action_controller/filters.rb:617:in `call_filters'
  /usr/lib/ruby/vendor_ruby/action_controller/filters.rb:610:in `perform_action_without_benchmark'
  /usr/lib/ruby/vendor_ruby/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
  /usr/lib/ruby/vendor_ruby/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
  /usr/lib/ruby/vendor_ruby/action_controller/rescue.rb:160:in `perform_action_without_flash'
  /usr/lib/ruby/vendor_ruby/action_controller/flash.rb:151:in `perform_action'
  /usr/lib/ruby/vendor_ruby/action_controller/base.rb:532:in `send'
  /usr/lib/ruby/vendor_ruby/action_controller/base.rb:532:in `process_without_filters'
  /usr/lib/ruby/vendor_ruby/action_controller/filters.rb:606:in `process'
  /usr/lib/ruby/vendor_ruby/action_controller/base.rb:391:in `process'
  /usr/lib/ruby/vendor_ruby/action_controller/base.rb:386:in `call'
  /usr/lib/ruby/vendor_ruby/action_controller/routing/route_set.rb:438:in `call'
  /usr/lib/ruby/vendor_ruby/action_controller/dispatcher.rb:87:in `dispatch'
  /usr/lib/ruby/vendor_ruby/action_controller/dispatcher.rb:121:in `_call'
  /usr/lib/ruby/vendor_ruby/action_controller/dispatcher.rb:130:in `build_middleware_stack'
  /usr/lib/ruby/vendor_ruby/active_record/query_cache.rb:29:in `call'
  /usr/lib/ruby/vendor_ruby/active_record/query_cache.rb:29:in `call'
  /usr/lib/ruby/vendor_ruby/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache'
  /usr/lib/ruby/vendor_ruby/active_record/query_cache.rb:9:in `cache'
  /usr/lib/ruby/vendor_ruby/active_record/query_cache.rb:28:in `call'
  /usr/lib/ruby/vendor_ruby/active_record/connection_adapters/abstract/connection_pool.rb:361:in `call'
  /usr/lib/ruby/vendor_ruby/action_controller/string_coercion.rb:25:in `call'
  /usr/lib/ruby/vendor_ruby/rack/head.rb:9:in `call'
  /usr/lib/ruby/vendor_ruby/rack/methodoverride.rb:21:in `call'
  /usr/lib/ruby/vendor_ruby/action_controller/params_parser.rb:15:in `call'
  /usr/lib/ruby/vendor_ruby/action_controller/session/cookie_store.rb:99:in `call'
  /usr/lib/ruby/vendor_ruby/action_controller/failsafe.rb:26:in `call'
  /usr/lib/ruby/vendor_ruby/rack/lock.rb:15:in `call'
  /usr/lib/ruby/vendor_ruby/action_controller/dispatcher.rb:106:in `call'
  /usr/lib/ruby/vendor_ruby/rack/handler/fastcgi.rb:66:in `serve'
  public/dispatch.fcgi:24

Rendering /usr/share/redmine/public/500.html (500 Internal Server Error)

And here with your changes in revision 111 :

Processing RepositoriesController#create (for ... at 2012-12-19 21:30:32) [POST]
  Parameters: {"commit"=>"Create new repository", "operation"=>"add", "authenticity_token"=>"...", "action"=>"create", "project_id"=>"lamp-hw", "controller"=>"repositories", "repository_scm"=>"Git", "repository"=>{"checkout_protocols"=>{"-1"=>{"protocol"=>"empty"}, "0"=>{"command"=>"git clone", "access"=>"permission", "protocol"=>"Git", "fixed_url"=>"", "is_default"=>"1"}}, "checkout_description"=>"The data contained in this repository can be downloaded to your computer using one of several clients.\r\nPlease see the documentation of your version control software client for more information.\r\n\r\nPlease select the desired protocol below to get the URL.\r\n", "identifier"=>"test", "extra_report_last_commit"=>"0", "path_encoding"=>"", "checkout_display_command"=>"1", "url"=>"....test", "checkout_overwrite"=>"0", "is_default"=>"0"}}

NoMethodError (undefined method `[]=' for nil:NilClass):
  /usr/lib/ruby/vendor_ruby/active_record/base.rb:2918:in `send'
  /usr/lib/ruby/vendor_ruby/active_record/base.rb:2918:in `assign_attributes'
  /usr/lib/ruby/vendor_ruby/active_record/base.rb:2914:in `each'
  /usr/lib/ruby/vendor_ruby/active_record/base.rb:2914:in `assign_attributes'
  /usr/lib/ruby/vendor_ruby/active_record/base.rb:2787:in `attributes_without_extra_info='
  app/models/repository.rb:75:in `send'
  app/models/repository.rb:75:in `attributes='
  /usr/lib/ruby/vendor_ruby/active_record/base.rb:2477:in `initialize'
  /usr/lib/ruby/vendor_ruby/action_controller/base.rb:1333:in `send'
  /usr/lib/ruby/vendor_ruby/action_controller/base.rb:1333:in `perform_action_without_filters'
  /usr/lib/ruby/vendor_ruby/action_controller/filters.rb:617:in `call_filters'
  /usr/lib/ruby/vendor_ruby/action_controller/filters.rb:610:in `perform_action_without_benchmark'
  /usr/lib/ruby/vendor_ruby/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
  /usr/lib/ruby/vendor_ruby/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'
  /usr/lib/ruby/vendor_ruby/action_controller/rescue.rb:160:in `perform_action_without_flash'
  /usr/lib/ruby/vendor_ruby/action_controller/flash.rb:151:in `perform_action'
  /usr/lib/ruby/vendor_ruby/action_controller/base.rb:532:in `send'
  /usr/lib/ruby/vendor_ruby/action_controller/base.rb:532:in `process_without_filters'
  /usr/lib/ruby/vendor_ruby/action_controller/filters.rb:606:in `process'
  /usr/lib/ruby/vendor_ruby/action_controller/base.rb:391:in `process'
  /usr/lib/ruby/vendor_ruby/action_controller/base.rb:386:in `call'
  /usr/lib/ruby/vendor_ruby/action_controller/routing/route_set.rb:438:in `call'
  /usr/lib/ruby/vendor_ruby/action_controller/dispatcher.rb:87:in `dispatch'
  /usr/lib/ruby/vendor_ruby/action_controller/dispatcher.rb:121:in `_call'
  /usr/lib/ruby/vendor_ruby/action_controller/dispatcher.rb:130:in `build_middleware_stack'
  /usr/lib/ruby/vendor_ruby/active_record/query_cache.rb:29:in `call'
  /usr/lib/ruby/vendor_ruby/active_record/query_cache.rb:29:in `call'
  /usr/lib/ruby/vendor_ruby/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache'
  /usr/lib/ruby/vendor_ruby/active_record/query_cache.rb:9:in `cache'
  /usr/lib/ruby/vendor_ruby/active_record/query_cache.rb:28:in `call'
  /usr/lib/ruby/vendor_ruby/active_record/connection_adapters/abstract/connection_pool.rb:361:in `call'
  /usr/lib/ruby/vendor_ruby/action_controller/string_coercion.rb:25:in `call'
  /usr/lib/ruby/vendor_ruby/rack/head.rb:9:in `call'
  /usr/lib/ruby/vendor_ruby/rack/methodoverride.rb:21:in `call'
  /usr/lib/ruby/vendor_ruby/action_controller/params_parser.rb:15:in `call'
  /usr/lib/ruby/vendor_ruby/action_controller/session/cookie_store.rb:99:in `call'
  /usr/lib/ruby/vendor_ruby/action_controller/failsafe.rb:26:in `call'
  /usr/lib/ruby/vendor_ruby/rack/lock.rb:15:in `call'
  /usr/lib/ruby/vendor_ruby/action_controller/dispatcher.rb:106:in `call'
  /usr/lib/ruby/vendor_ruby/rack/handler/fastcgi.rb:66:in `serve'
  public/dispatch.fcgi:24

Rendering /usr/share/redmine/public/500.html (500 Internal Server Error)

repo-attrs-fix.patch View (691 Bytes) Lluís -, 16 Jan 2013 20:51

Associated revisions

Revision 122 (diff)
Added by Andriy Lesyuk over 11 years ago

Applied fixes for #2135, #2137 and #2183

History

#1 Updated by Lluís - almost 12 years ago

The attached patch solves the issue, but I’m not sure if this should be rather fixed in the “redmine_checkout” plugin.

According to “tictacbum” (who actually came up with the solution):

I think the problem is that redmine_checkout rserializes checkout_settings in a hash, but it is not initialized when instantiated with the factory method

#2 Updated by Andriy Lesyuk over 11 years ago

  • Status changed from New to Open
  • Assignee set to Andriy Lesyuk
  • Target version set to 0.4.3

Thanks for looking into it.

#3 Updated by Andriy Lesyuk over 11 years ago

  • Due date set to 19 May 2013
  • Status changed from Open to Closed
  • % Done changed from 0 to 100

Also available in: Atom PDF

Terms of use | Privacy policy