Checkout Tools
  • last updated 4 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Comment out a failing swig-rb test.

Issue 4805, "delta path editor binding broken for root path".

* subversion/bindings/swig/ruby/test/test_delta.rb

(test_path_driver): Comment out (as no XFail mechanism is available).

* **/**

Run tools/dev/remove-trailing-whitespace.sh to remove all trailing whitespace

before we branch 1.8, like we did before creating previous branches.

No functional changes.

  1. … 199 more files in changeset.
Initial support for ruby 1.9.3 when creating swig bindings for subversion.

* Makefile.in:

(check-swig-rb): Ruby 1.8 uses --verbose, 1.9 does not for run-test.rb

* subversion/bindings/swig/ruby/test/test_core.rb:

(test_time, test_create_commit_info): Updated for ruby1.9 time, which

uses nanoseconds.

(test_config_each): Tweak sort.

* subversion/bindings/swig/ruby/test/test_repos.rb:

(test_create): Ruby1.8 carries the assignment through block, ruby1.9

does not carry assignments, we need to explicitly do this.

* subversion/bindings/swig/ruby/test/test-unit-ext/priority.rb:

(TestSuite): Run priority tests only for ruby1.8.

* subversion/bindings/swig/ruby/test/test_delta.rb:

(test_txdelta_window): Fix nil return in ruby1.9,

(test_txdelta_window_compose): Ruby1.8 carries the assignment through

block, ruby1.9 does not carry assignments, we need to explicitly do this

(test_svndiff): Fix StringIO encoding to be ASCII-8BIT, no longer

assumed as in ruby1.8.

* subversion/bindings/swig/ruby/test/test-unit-ext.rb:

(): Turn off some tests for ruby1.9, they should be fixed still.

* subversion/bindings/swig/ruby/test/test_fs.rb:

(): Update md5 to digest/md5 in require.

(assert_create): Assignments not carried through block in 1.9.

(test_root, test_delta): Use new md5 name.

* subversion/bindings/swig/ruby/test/test_wc.rb,

subversion/bindings/swig/ruby/test/test_client.rb:

(make_context): Ruby1.8 carries the assignment through block, ruby1.9

does not carry assignments, we need to explicitly do this.

* subversion/bindings/swig/ruby/test/my-assertions.rb:

(my_assert_block): New.

(assert_true, assert_false, assert_nested_sorted_array,

assert_equal_log_entries): Use it.

* subversion/bindings/swig/ruby/svn/util.rb:

(to_ruby_class_name): Convert to string before splitting for ruby1.9

compat.

* subversion/bindings/swig/ruby/svn/info.rb:

(parse_diff): Use each_line for ruby1.9 and each for ruby1.8.

* configure.ac:

Detect ruby1.9.3 - added teeny version detection restrict build

to 1.8.x and >= 1.9.3.

Patch by: Michael Chletsos <mpchlets@gmail.com>,

Vincent Batts <vbatts@slackware.com>

  1. … 12 more files in changeset.
Fix Ruby tests: window composition order was wrong.

This has surfaced only now as recent xdelta changes

creates a copy op at the very end of the 100k buffer.

* subversion/bindings/swig/ruby/test/test_delta.rb

(test_txdelta_window_compose): fix parameter order

Revert r1140289 because it causes test failures with ruby 1.8.

  1. … 3 more files in changeset.
[ Note from the future: Reverted in r1140302 ]

Some steps towards allowing the Ruby bindings tests to run with Ruby 1.9.

While make check-swig-rb does not error out, it does not generate any

output for some reason if Test::Unit 2.3.0 is used.

The tests do run with Test::Unit 1.2.3, however.

I'll leave it to someone more competent to fix this.

* subversion/bindings/swig/ruby/test/test_core.rb: Needs 'coding: utf-8'

marker to avoid a parsing error because of an embedded UTF-8 string.

* subversion/bindings/swig/ruby/test/test_delta.rb,

subversion/bindings/swig/ruby/test/test_fs.rb: Include 'digest/md5' instead

of just 'md5'. Now this code works with either Ruby version.

* subversion/bindings/swig/ruby/test/run-test.rb: Some Test::Unit APIs we

use are part of a separate gem in Ruby 1.9. So try to load the gem but

tolerate failure.

  1. … 3 more files in changeset.
Follow up to r876245 "Fix failing Ruby bindings test in the spirit of the

fix for Python in r21423." r876245 changed the Svn::Delta.apply interface

incompatibly, so restore the prior interface.

* subversion/bindings/swig/ruby/test/test_delta.rb

(SvnDeltaTest#test_apply): Revert to again expect a digest returned with

the handler from Svn::Delta.apply. Also assert that the returned digest

is nil.

* subversion/bindings/swig/ruby/svn/delta.rb

(Svn::Delta.apply): Change return value back into an Array. Return the

handler as the first element and a nil as the second.

  1. … 1 more file in changeset.
Add missing ALv2 license header to the ruby bindings.

[ in subversion/bindings/swig/ruby/ ]

* test/my-assertions.rb,

test/test_client.rb,

test/util.rb,

test/run-test.rb,

test/windows_util.rb,

test/test_core.rb,

test/test-unit-ext/priority.rb,

test/test-unit-ext/backtrace-filter.rb,

test/test-unit-ext/always-show-result.rb,

test/test-unit-ext/long-display-for-emacs.rb,

test/test_delta.rb,

test/test_error.rb,

test/test-unit-ext.rb,

test/test_info.rb,

test/test_ra.rb,

test/test_fs.rb,

test/test_wc.rb,

test/test_util.rb,

test/greek_tree.rb,

svn/synchronizer.rb,

svn/util.rb,

svn/client.rb,

svn/commit-mailer.rb,

svn/ra.rb,

svn/core.rb,

svn/fs.rb,

svn/repos.rb,

svn/delta.rb,

svn/error.rb,

svn/wc.rb,

svn/info.rb:

Add ALv2 license blurb.

  1. … 30 more files in changeset.
Fix failing Ruby bindings test in the spirit of the fix for Python in r21423:

"Fix segfault in Python tests by deleting the broken argout typemap for the

'result_digest' parameter in svn_txdelta_apply. Instead, ignore the parameter

altogether."

Updated to follow djames recommendation to not create an unused temporary.

* subversion/bindings/swig/include/svn_types.swg

(result_digest): Remove typemap for Ruby. Instead, ignore

the parameter.

* subversion/bindings/swig/ruby/svn/delta.rb

(Svn::Delta.apply): Don't expect a digest to be returned by

Svn::Delta.txdelta_apply_wrapper and don't return it.

* subversion/bindings/swig/ruby/test/test_delta.rb

(SvnDeltaTest#test_apply): Don't expect a digest returned with the handler

from Svn::Delta.apply.

Reviewed by: djames

hwright

  1. … 2 more files in changeset.
Follow on to r33730 "Merge the fs-rep-sharing branch to trunk."

This merge exposed several bugs in the management of pool lifetimes in the

bindings. So manage pool lifetimes better. Or at least try to.

There are 3 errors and 1 failure. Two of the errors and the failure have to

do with changes to authentication. The last error has to do with using time

to specify a revision.

* subversion/bindings/swig/ruby/svn/info.rb

(Svn::Info#teardown): Close @repos before nilling it.

* subversion/bindings/swig/ruby/svn/ra.rb

(Svn::Ra::Session.open): Create and assign a pool to forward to

Svn::Ra.open2, assign it to a session member variable. Return the session

object as before if no block given, yield the session and ensure it is

closed if a block is given.

(Svn::Ra::Session#close): Destroy the pool.

* subversion/bindings/swig/ruby/svn/client.rb

(Svn::Client::Context#initialize): Create and assign a pool and assign it to

a member variable.

(Svn::Client::Context#close): Destroy the pool.

(Svn::Client::Context#commit, Svn::Client::Context#open_ra_session,

Svn::Client::Context#ls): Use the pool.

* subversion/bindings/swig/ruby/test/util.rb

(SvnTestUtil#setup_repository): Remember the repo we create instead of

opening it again.

(SvnTestUtil#make_context): Return the context object as before if no block

given, yield the context and ensure it is closed if a block is given.

* subversion/bindings/swig/ruby/test/windows_util.rb

(SvnTestUtil::Windows::Svnserve#setup_svnserve): Add libapriconv.dll,

sqlite3.dll, libdb44.dll, and libdb44d.dll to the targets needed.

(SvnTestUtil::Windows::SetupEnvironment

#add_depended_dll_path_to_dll_wrapper_util): Add the bin directory for

SQLite to the list of wrapped paths.

* subversion/bindings/swig/ruby/test/test_client.rb

(SvnClientTest): Use the block version of make_context throughout the tests.

* subversion/bindings/swig/ruby/test/test_repos.rb

(SvnClientTest): Use the block version of make_context throughout the tests.

(SvnClientTest#test_session): Rename the context variables used to store the

results of make_context so we can have multiple contexts "live" at the

same time and ensure they are each closed.

* subversion/bindings/swig/ruby/test/test_delta.rb

(SvnDeltaTest): Use the block version of make_context throughout the tests,

plus some reorganization to move locals out of blocks.

* subversion/bindings/swig/ruby/test/test_info.rb

(SvnInfoTest): Use the block version of make_context throughout the tests,

plus some reorganization to move locals out of blocks.

* subversion/bindings/swig/ruby/test/test_fs.rb

(SvnFsTest): Use the block version of make_context throughout the tests,

plus some reorganization to move locals out of blocks.

* subversion/bindings/swig/ruby/test/test_wc.rb

(SvnWcTest): Use the block versions of make_context and

Svn::Ra::Session.open throughout the tests.

* subversion/bindings/swig/ruby/test/test_ra.rb

(SvnRaTest): Use the block versions of make_context and

Svn::Ra::Session.open throughout the tests, plus some reorganization to

move locals out of blocks.

  1. … 11 more files in changeset.
Follow on to r32901: 'Merge the double-delete branch back to trunk, fixing

issue #3156 "Delete should conflict with delete (at the repos level)"

<http://subversion.tigris.org/issues/show_bug.cgi?id=3156>.'

This change exposed a bug in the test below which was trying to copy a path

after it had been deleted.

* subversion/bindings/swig/ruby/test/test_delta.rb

(SvnDeltaTest#test_changed): cp a path being tested before rm-ing it.

Channeling Erik Hülsmann, remove all trailing whitespace within our source

tree:

for extsn in c h cpp java py pl rb; do

sed -i -e 's/[ \t]*$//' `find . -name "*.$extsn" | xargs grep '[ \t]$' -l`

done

Inspired by: ehu

  1. … 449 more files in changeset.
Set eol-style to native for all ruby files

  1. … 22 more files in changeset.
Fix a segmentation fault bug.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c

(svn_swig_rb_delta_path_driver_cb_func): Fix strange baton handling.

* subversion/bindings/swig/ruby/test/test_delta.rb

(SvnDeltaTest#test_path_driver): Improve Svn::Delta.path_driver sample

usage.

  1. … 1 more file in changeset.
Suppress excessive assertions in test result report.

* subversion/bindings/swig/ruby/test/test_delta.rb

(SvnDeltaTest#test_txdelta_window,

SvnDeltaTest#test_txdelta_window_compose): Use _wrap_assersion for

same assertions in #each loop.

Support 1.4 in svn_delta.h.

* subversion/bindings/swig/svn_delta.i

(svn_txdelta_window_t_ops_get): Fix a svn_txdelta_window_t::ops

conversion bug.

(svn_swig_rb_txdelta_apply_instructions): New wrapper funcsion.

(svn_txdelta_to_svndiff2_wrapper): Use svn_txdelta_to_svndiff2()

instead of svn_txdelta_to_svndiff().

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c,

subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h

(svn_swig_rb_from_swig_type,

svn_swig_rb_txdelta_window_t_ops_get): New function.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c

(c2r_swig_type): Just a alias of svn_swig_rb_from_swig_type().

* subversion/bindings/swig/ruby/svn/delta.rb

(Svn::Delta.svndiff_handler): Use Svn::Delta.txdelta_to_svndiff2_wrapper

instead of Svn::Delta.txdelta_to_svndiff_wrapper.

(Svn::Delta::TextDeltaWindow#compose,

Svn::Delta::TextDeltaWindow#ops,

Svn::Delta::TextDeltaWindow#apply_instructions): New method.

* subversion/bindings/swig/ruby/test/test_delta.rb

(SvnDeltaTest#test_txdelta_window,

SvnDeltaTest#test_txdelta_window_compose,

SvnDeltaTest#test_txdelta_apply_instructions): New test case.

  1. … 4 more files in changeset.
Fix wrong test case and memory management.

* subversion/bindings/swig/svn_delta.i

(svn_txdelta_apply_wrapper,

svn_txdelta_to_svndiff_wrapper): New wrapper function for swapping

argument order.

* subversion/bindings/swig/ruby/svn/delta.rb

(Svn::Delta.apply, Svn::Delta.svndiff_handler): Use wrapper function.

* subversion/bindings/swig/ruby/test/test_delta.rb

(SvnDeltaTest#test_apply): Don't reuse handler.

  1. … 2 more files in changeset.
* subversion/bindings/swig/ruby/test/test_delta.rb

(SvnDeltaTest#test_apply): Don't skip test.

Add some tests for Svn::Repos.

* subversion/bindings/swig/INSTALL

(STATUS OF THE SWIG BINDINGS): Update the Ruby bindings status.

* subversion/bindings/swig/svn_delta.i

(svn_swig_rb_make_editor): Remove.

(%typemap(ruby, in)

(const svn_delta_editor_t *editor, void *edit_baton)):

New typemap.

* subversion/bindings/swig/svn_repos.i

(%apply SWIGTYPE **OUTPARAM): Add 'svn_authz_t **'.

(%typemap(ruby, in)

(svn_repos_authz_func_t authz_read_func,

void *authz_read_baton)): Set NULL when nil is passed.

* subversion/bindings/swig/include/svn_types.swg

(%typemap(ruby, in) apr_array_header_t *location_revisions,

%typemap(ruby, in, numinputs=0) apr_hash_t **locations,

%typemap(ruby, argout) apr_hash_t **locations): New typemap. Move

from subversion/bindings/swig/svn_ra.i.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c,

subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h

(svn_swig_rb_svn_delta_editor): New function.

(svn_swig_rb_make_delta_editor): Add 'delta_'.

* subversion/bindings/swig/ruby/svn/info.rb

(Svn::Info#traverse): Pass editor as argument.

* subversion/bindings/swig/ruby/svn/delta.rb

(Svn::Delta.make_editor): Remove.

(Svn::Delta#path_driver): Remove edit_baton.

* subversion/bindings/swig/ruby/svn/repos.rb

(Svn::Repos::ReposCore#baton.node,

Svn::Repos::ReposCore#delta_tree,

Svn::Repos::ReposCore#report): Remove Svn::Delta.make_editor.

(Svn::Repos::ReposCore#transaction_for_update): Use

Svn::Fs::Transaction#abort.

(Svn::Repos::ReposCore#lock): Add default argument value.

(Svn::Repos::ReposCore#unlock): Remove needless variable.

(Svn::Repos::ReposCore#file_revs,

Svn::Repos::ReposCore#get_locks,

Svn::Repos::ReposCore#logs

Svn::Repos::ReposCore#set_prop,

Svn::Repos::ReposCore#prop,

Svn::Repos::ReposCore#proplist): Accept authz_read_func as argument.

(Svn::Repos::Authz.read): New class method.

(Svn::Repos::Authz#can_access?): Fix typo.

* subversion/bindings/swig/ruby/svn/fs.rb

(Svn::Fs::FileSystem::trace_node_locations): New method. Move from

Svn::Fs::Access.

(Svn::Fs::Root#editor=,

Svn::Fs::Root#dir_delta,

Svn::Fs::Root#replay): Remove Svn::Delta.make_editor.

* subversion/bindings/swig/ruby/test/test_delta.rb

(SvnDeltaTest#test_path_driver,

SvnDeltaTest#traverse): Remove Svn::Delta.make_editor.

* subversion/bindings/swig/ruby/test/test_repos.rb

(SvnReposTest#test_transaction): Add

Svn::Repos::ReposCore#transaction_for_update test.

(SvnReposTest#test_trace_node_locations,

SvnReposTest#test_node_editor,

SvnReposTest#test_lock,

SvnReposTest#test_authz): New test.

* subversion/bindings/swig/svn_ra.i

(%typemap(ruby, in) apr_array_header_t *location_revisions,

%typemap(ruby, in, numinputs=0) apr_hash_t **locations,

%typemap(ruby, argout) apr_hash_t **locations): Remove.

Move to subversion/bindings/swig/include/svn_types.swg.

  1. … 12 more files in changeset.
Add some tests for Svn::Repos and Svn::Wc.

* subversion/bindings/swig/INSTALL

(STATUS OF THE SWIG BINDINGS): Update the Ruby bindings status.

* subversion/bindings/swig/svn_delta.i

(%apply const char *MAY_BE_NULL): Add 'const char *copyfrom_path',

'const char *copy_path' and 'const char *base_checksum'.

(%typemap(ruby, in)

(svn_txdelta_window_handler_t handler, void *handler_baton)):

Accept Svn::Delta::TextDeltaWindowHandler object.

(svn_txdelta_to_svndiff_handler, svn_txdelta_apply_wrapper): Remove. Use

Svn::Delta::TextDeltaWindowHandler as svn_txdelta_window_handler_t

wrapper.

* subversion/bindings/swig/svn_wc.i

(%apply const char *MAY_BE_NULL): Add.

(%typemap(ruby, in, numinputs=0)

apr_array_header_t **patterns (apr_array_header_t *temp),

%typemap(ruby, argout, fragment="output_helper")

apr_array_header_t **patterns): New typemap.

(%typemap(ruby, in)

(svn_wc_notify_func2_t notify_func, void *notify_baton)): Fix typo.

* subversion/bindings/swig/svn_repos.i

(%apply SWIGTYPE **OUTPARAM): Add 'svn_dirent_t **'.

(%apply const char *MAY_BE_NULL): Add.

* subversion/bindings/swig/svn_fs.i

(svn_fs_apply_textdelta_wrapper): Remove. Use

Svn::Delta::TextDeltaWindowHandler as svn_txdelta_window_handler_t

wrapper.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c

(rb_svn_delta,

svn_swig_rb_svn_delta_text_delta_window_handler): New function.

(delta_editor_set_target_revision,

delta_editor_open_root,

delta_editor_delete_entry,

delta_editor_add_directory,

delta_editor_open_directory,

delta_editor_change_dir_prop,

delta_editor_close_baton,

delta_editor_close_directory,

delta_editor_absent_directory,

delta_editor_add_file,

delta_editor_open_file,

delta_editor_window_handler,

delta_editor_apply_textdelta,

delta_editor_change_file_prop,

delta_editor_close_file,

delta_editor_absent_file,

delta_editor_close_edit,

delta_editor_abort_edit,

svn_swig_rb_make_editor): Add 'delta_editor_' prefix.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c,

subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h

(svn_swig_rb_svn_delta_text_delta_window_handler,

svn_swig_rb_to_swig_type,

svn_swig_rb_invoke_txdelta_window_handler): New function.

* subversion/bindings/swig/ruby/svn/wc.rb (Svn::Wc::cleanup): New

class method. Move from Svn::Wc::AdmAccess#cleanup.

(Svn::Wc::AdmAccess#open_anchor,

Svn::Wc::AdmAccess#probe_try): Fix typo.

(Svn::Wc::AdmAccess#path): Remove 'access_' prefix.

(Svn::Wc::AdmAccess#revert): Fix indentation.

(Svn::Wc::AdmAccess#ignores): Fix wrong arguments order.

* subversion/bindings/swig/ruby/svn/delta.rb

(Svn::Delta.svndiff_handler,

Svn::Delta.apply): Use Svn::Delta::TextDeltaWindowHandler object.

(Svn::Delta.send,

Svn::Delta::TextDeltaStream#send): Accept handler as non-block

argument.

(Svn::Delta.setup_handler_wrapper): Rename from

Svn::Delta.setup_handler_obj.

(Svn::Delta::TextDeltaWindowHandler): New class.

(Svn::Delta::Editor): New class. Work as svn_delta_editor_t

wrapper.

(Svn::Delta::BaseEditor): Rename from Svn::Delta::Editor.

* subversion/bindings/swig/ruby/svn/repos.rb

(Svn::Repos.db_logfiles): Enable only_unused option.

(Svn::Repos::ReposCore#commit_editor): Use

Svn::Delta::TextDeltaWindowHandler object.

(Svn::Repos::ReposCore#stat): Remove.

(Svn::Repos::ReposCore::#setup_report_baton): Fix typo and wrong

arguments order.

* subversion/bindings/swig/ruby/svn/fs.rb

(Svn::Fs::FileSystem#history): New method. Move from

Svn::Fs::Access.

(Svn::Fs::Access#history): Remove.

(Svn::Fs::Root#apply_textdelta): Use

Svn::Delta::TextDeltaWindowHandler object.

(Svn::Fs::Root#stat): New method. Move from

Svn::Repos::ReposCore#stat.

* subversion/bindings/swig/ruby/test/test_wc.rb

(SvnWcTest#test_status): Add Svn::Wc::AdmAccess#probe_open test.

(SvnWcTest#test_version,

SvnWcTest#test_wc,

SvnWcTest#test_adm_access): New test.

* subversion/bindings/swig/ruby/test/test_delta.rb

(SvnDeltaTest#test_apply): Use

Svn::Delta::TextDeltaWindowHandler#send.

(SvnDeltaTest#test_svndiff): Pass

Svn::Delta::TextDeltaWindowHandler object.

(SvnDeltaTest#test_path_driver): Use Svn::Delta::BaseEditor

object.

* subversion/bindings/swig/ruby/test/test_repos.rb

(SvnReposTest#test_path): Add configuration path check.

(SvnReposTest#test_version,

SvnReposTest#test_create,

SvnReposTest#test_hotcopy,

SvnReposTest#test_report,

SvnReposTest#test_commit_editor): New test.

  1. … 13 more files in changeset.
Add some tests for Svn::Delta.

* subversion/bindings/swig/INSTALL

(STATUS OF THE SWIG BINDINGS): Update the Ruby bindings status.

* subversion/bindings/swig/svn_delta.i

(%apply const char *MAY_BE_NULL): New apply.

(svn_swig_rb_id_handler,

svn_swig_rb_id_handler_baton,

svn_swig_rb_make_handler_wrapper): New helper function.

Do %ignore.

(svn_txdelta_to_svndiff_handler,

svn_txdelta_invoke_handler): Use helper function.

(svn_txdelta_apply_wrapper,

svn_txdelta_md5_digest_as_cstring): New function.

* subversion/bindings/swig/include/svn_types.swg

(%apply unsigned char digest[ANY]): Add unsigned char

*result_digest.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c:

Remove unused code.

(rb_set_pool): Return VALUE.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c,

subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h

(svn_swig_rb_set_pool_for_no_swig_type): New function.

* subversion/bindings/swig/ruby/svn/delta.rb

(Svn::Delta.svndiff_handler): Use Svn::Delta.setup_handler_obj.

(Svn::Delta.send): New generic module function.

(Svn::Delta.setup_handler_obj): New helper module function.

(Svn::Delta.apply,

Svn::Delta.parse_svndiff): Move from Svn::Delta::TextDeltaStream.

(Svn::Delta::TextDeltaStream#md5_digest): Use

Svn::Delta.txdelta_md5_digest_as_cstring.

(Svn::Delta::TextDeltaStream#send): New method.

* subversion/bindings/swig/ruby/test/test_delta.rb

(SvnDeltaTest#test_delta): Add MD5 check.

(SvnDeltaTest#test_push_target, SvnDeltaTest::test_apply)

(SvnDeltaTest#test_svndiff,

SvnDeltaTest#test_path_driver): New test.

  1. … 6 more files in changeset.
Implement Svn::Delta::TextDeltaStream.new,

Svn::Delta::TextDeltaStream#md5_digest and

Svn::Delta::TextDeltaStream#next_window.

* subversion/bindings/swig/ruby/test/test_delta.rb

(SvnDeltaTest#test_version,

(SvnDeltaTest#test_delta): New test.

* subversion/bindings/swig/ruby/svn/delta.rb

(Svn::Delta::TextDeltaStream):New class alias.

(Svn::Delta::TextDeltaStream.new): New class methods.

(Svn::Delta::TextDeltaStream#md5_digest,

Svn::Delta::TextDeltaStream#next_window,

Svn::Delta::TextDeltaStream#each): New method.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c

(read_handler_rbio):Add final read check.

  1. … 2 more files in changeset.
Improve Svn::Delta::ChangedEditor.

* subversion/bindings/swig/ruby/svn/delat.rb

(Svn::Delta::ChangedEditor#close_edit): Sort @copied_files and

@copied_dirs.

* subversion/bindings/swig/ruby/test/test_delta.rb

(SvnDeltaTest#test_changed):

- Remove tmp_ prefix.

- Add test for the case.

  1. … 1 more file in changeset.
Improve Svn::Delta::ChangedEditor.

* subversion/bindings/swig/ruby/svn/delta.rb

(Svn::Delta::ChangedEditor): Ignore entries under copied directory.

* subversion/bindings/swig/ruby/test/test_delta.rb

(SvnDeltaTest::test_deep_copy): Add test for the case.

  1. … 1 more file in changeset.
Merge the ruby branch to trunk.

  1. … 46 more files in changeset.