Index: subversion/bindings/swig/ruby/svn/wc.rb =================================================================== --- subversion/bindings/swig/ruby/svn/wc.rb (revision 25251) +++ subversion/bindings/swig/ruby/svn/wc.rb (working copy) @@ -297,13 +297,15 @@ def update_editor(target_revision, target, use_commit_times=true, depth=nil, allow_unver_obstruction=false, diff3_cmd=nil, - notify_func=nil, cancel_func=nil, traversal_info=nil) + notify_func=nil, cancel_func=nil, traversal_info=nil, + preserved_exts=nil) + preserved_exts ||= [] traversal_info ||= _traversal_info results = Wc.get_update_editor3(target_revision, self, target, use_commit_times, depth, allow_unver_obstruction, notify_func, cancel_func, diff3_cmd, - traversal_info) + preserved_exts, traversal_info) target_revision_address, editor, editor_baton = results editor.__send__(:target_revision_address=, target_revision_address) editor.baton = editor_baton @@ -313,13 +315,16 @@ def switch_editor(target_revision, target, switch_url, use_commit_times=true, depth=nil, allow_unver_obstruction=false, diff3_cmd=nil, - notify_func=nil, cancel_func=nil, traversal_info=nil) + notify_func=nil, cancel_func=nil, traversal_info=nil, + preserved_exts=nil) + preserved_exts ||= [] traversal_info ||= _traversal_info results = Wc.get_switch_editor3(target_revision, self, target, switch_url, use_commit_times, depth, allow_unver_obstruction, notify_func, cancel_func, - diff3_cmd, traversal_info) + diff3_cmd, preserved_exts, + traversal_info) target_revision_address, editor, editor_baton = results editor.__send__(:target_revision_address=, target_revision_address) editor.baton = editor_baton Index: subversion/bindings/swig/include/svn_containers.swg =================================================================== --- subversion/bindings/swig/include/svn_containers.swg (revision 25251) +++ subversion/bindings/swig/include/svn_containers.swg (working copy) @@ -396,12 +396,18 @@ /* svn_delta_path_driver() mutates its 'paths' argument (by sorting it), despite the fact that it is notionally an input parameter - hence, the - lack of 'const' in that one case. */ + lack of 'const' in that one case. + + svn_wc_get_update_editor3() and svn_wc_get_switch_editor3() aren't changing + their 'preserved_exts' argument, but it is forwarded to + svn_cstring_match_glob_list which also doesn't modify it, but does not have + const in its prototype. */ %apply const apr_array_header_t *STRINGLIST { const apr_array_header_t *args, const apr_array_header_t *diff_options, apr_array_header_t *paths, - const apr_array_header_t *targets + const apr_array_header_t *targets, + apr_array_header_t *preserved_exts }; /* -----------------------------------------------------------------------