Bug #2135
Unable to create repositories when the checkout plugin is also installed
100%
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)
Associated revisions
History
#1 Updated by Lluís - almost 12 years ago
- File repo-attrs-fix.patch View added
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