Joe Swatosh <> (joeswatosh)

Found Patch Review Suggested
r1069335, r1068863, r980672, r905949, r880166, r879270, r874960, r866274, r864073, r863909, r863908, r862961, r862953 r1490221, r1461920, r1461395, r1461030, r1327373, r1311547, r1310594, r1310535, r1302524, r1035159, r981729, r932942, r927688, r925713, r925709, r910298, r906059, r905175, r905174, r897590, r897492, r897491, r897479, r895514, r894470, r888715, r888713, r888708, r880242, r880225, r880218, r880175, r880174, r880168, r880163, r880162, r880154, r879890, r879427, r879426, r879425, r879327, r879251, r879249, r877989, r877866, r876565, r876245, r876175, r875102, r875101, r874979, r874978, r874956, r874824, r874784, r874783, r874782, r874062, r874061, r872785, r872755, r872754, r872642, r871429, r871427, r870646, r870645, r870642, r870641, r870520, r870189, r869742, r869596, r869595, r869494, r869420, r869387, r869335, r869128, r869103, r869102, r869101, r869100, r869099, r869098, r869095, r869094, r869093, r868956, r868894, r868893, r868738, r868737, r868736, r868185, r868094, r868093, r868092, r868091, r868046, r868045, r868044, r867987, r867986, r867985, r867979, r867977, r867976, r867974, r867971, r867912, r867897, r867827, r867812, r867778, r867751, r867750, r867699, r867666, r867665, r867663, r867259, r867252, r867090, r867075, r866938, r866927, r866926, r866871, r866771, r866768, r866729, r866728, r866700, r866692, r866689, r866688, r866463, r866402, r866398, r866393, r866388, r866295, r866145, r866080, r866079, r866078, r866044, r866043, r865814, r865675, r865586, r865346, r865336, r865327, r865093, r865079, r865078, r865069, r864845, r864827, r864807, r864802, r864801, r864700, r864680, r864618, r864617, r864599, r864472, r864214, r864140, r864133, r864131, r863885, r863857, r863392, r863140, r863030, r863002, r863000, r862996, r862995, r862983, r862928 r874912, r864190 r876132, r865107, r864569, r864190, r863998, r863401, r863221, r863162, r863105, r862997, r862922, r862920, r862911, r862910, r862897, r862895, r862893, r862892

r862892 | kou | 2006-12-28 05:39:50 +0000 (Thu, 28 Dec 2006)

Use SIZEOF_LONG_LONG instead of sizeof(long long) and define codes
using sizeof(long long) as convenience macros, AOFF2NUM and AI642NUM.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
  (AOFF2NUM, AI642NUM): New macro.
  (ra_callbacks_progress_func): Use AOFF2NUM.
  (svn_swig_rb_client_blame_receiver_func): Use AI642NUM.

Suggested by: Joe Swatosh

r862893 | kou | 2006-12-28 05:58:14 +0000 (Thu, 28 Dec 2006)

Use empty object-like macro for empty argument in function-like macro
to work with MSVC6 preprocessor.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
  (EMPTY_CPP_ARGUMENT): New macro.

Suggested by: Joe Swatosh

r862895 | kou | 2006-12-28 07:22:13 +0000 (Thu, 28 Dec 2006)

Link with ruby library.

* build/ac-macros/swig.m4 (SVN_FIND_SWIG): Detect ruby library.

* (SWIG_RB_LINK): Register.

* build.conf (libsvn_swig_ruby): Use SWIG_RB_LIBS for linking.

Suggested by: Joe Swatosh

r862897 | kou | 2006-12-28 08:09:31 +0000 (Thu, 28 Dec 2006)

Check whether LC_MESSAGES is available or not.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
  (svn_swig_rb_initialize): Do not define Svn::Locale::MESSAGES if LC_MESSAGES
  is not defined.

Suggested by: Joe Swatosh

r862910 | kou | 2006-12-30 05:54:14 +0000 (Sat, 30 Dec 2006)

Support file:// style repository URI on Windows.

* subversion/bindings/swig/ruby/test/util.rb
  (SvnTestUtil#setup_basic): Ensure the first "/" for repository path in
  file:// URI.

Suggested by: Joe Swatosh

r862911 | kou | 2006-12-30 06:01:39 +0000 (Sat, 30 Dec 2006)

Support preparing test environment for non-installation test on Windows.

* subversion/bindings/swig/ruby/test/run-test.rb: Use copy instead of
  symbolic link on Windows.

Suggested by: Joe Swatosh

r862920 | kou | 2006-12-31 23:33:05 +0000 (Sun, 31 Dec 2006)

Resolve dependency of each test file by themselves. 

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

Suggested by: Joe Swatosh

r862922 | kou | 2006-12-31 23:54:40 +0000 (Sun, 31 Dec 2006)

Normalize line break for Windows.

* subversion/bindings/swig/ruby/test/util.rb
  (SvnTestUtil.normalize_line_break): New method.

* subversion/bindings/swig/ruby/test/test_core.rb
  (SvnCoreTest#test_diff_unified, SvnCoreTest#test_diff_merge):
  Use SvnTestUtil.normalize_line_break to compare diff result.

Suggested by: Joe Swatosh

r862928 | kou | 2007-01-02 01:33:05 +0000 (Tue, 02 Jan 2007)

Followup to r22847, fix dependency.

* subversion/bindings/swig/ruby/ruby/test/test_wc.rb: Require 'svn/repos'.

Patch by: Joe Swatosh

r862953 | djames | 2007-01-03 02:24:18 +0000 (Wed, 03 Jan 2007)

Update the Python bindings to use repos.delete to delete repositories,
instead of a custom Python implementation. Also update test_create to
delete the repositories it creates.

This change should hopefully stop the "permission denied" errors on
Windows, which occurred because shutil.rmtree could not delete the
read-only "format" files.

Found by: Joe Swatosh <>

[ In subversion/bindings/swig/python/tests ]

  * trac/versioncontrol/tests/
    (tearDown): Use repos.delete, instead of a custom Python

    (test_create): For good form, clean up all of the repositories
    we create.

r862961 | djames | 2007-01-03 21:18:36 +0000 (Wed, 03 Jan 2007)

Update the Python bindings tests to (in theory) work on Windows, by
using the portable svn_io_remove_dir function to delete directories,
and by canonicalizing paths to use forward slashes throughout the new
tests in

Found by: Joe Swatosh <>

[ In subversion/bindings/swig ]

  * core.i
    (svn_io_remove_file, svn_io_remove_dir): Wrap these functions for the
    Python bindings, so that we can make use of them in the test suite.

  * python/tests/
    (setUp): Canonicalize the path returned to us by mktemp, so that the
    paths will always use forward slashes.

    (test_crawl_revisions2, test_get_pristine_copy_path): Join canonical
     paths using forward slashes, not os-native slashes.

    (tearDown): Use svn_io_remove_dir to remove paths, instead of
    shutil.rmtree, for compatibility with Windows.

r862983 | dlr | 2007-01-04 21:20:16 +0000 (Thu, 04 Jan 2007)

* subversion/bindings/swig/core.i
  (%extend apr_pool_wrapper_t): Release memory aquired with
   ruby_xmalloc() (via ALLOC()) with ruby_xfree().

Patch by: Joe Swatosh <>

r862995 | kou | 2007-01-06 05:28:21 +0000 (Sat, 06 Jan 2007)

Create DLL instead of LIB for the Ruby bindings.

* build.conf (libsvn_swig_ruby): Make dynamic library on Windows.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
  (SVN_SWIG_SWIGUTIL_RB_C): Define to indicate swigutil_rb.c is a source.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h
  (SVN_RB_SWIG_SWIGUTIL_EXPORT): Define and use this for creating DLL
  on Windows.

Patch by: Joe Swatosh

r862996 | kou | 2007-01-06 05:36:43 +0000 (Sat, 06 Jan 2007)

Fix line ends handling on Windows.

* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnWcTest#test_translated_file): Treat files as binary so on windows
  Ruby's line end processing doesn't mask what Subversion does with line
  ends when the svn:eol-style is set.

Patch by: Joe Swatosh

r862997 | kou | 2007-01-06 06:00:05 +0000 (Sat, 06 Jan 2007)

Revert r22920. SvnTestUtil.normalize_line_break is still needed.

* subversion/bindings/swig/ruby/test/util.rb
  (SvnTestUtil.normalize_line_break): Redefine.

* subversion/bindings/swig/ruby/test/test_core.rb
  (SvnCoreTest#test_diff_unified, SvnCoreTest#test_diff_merge):
  Use SvnTestUtil.normalize_line_break again.

Suggested by: Joe Swatosh

r863000 | kou | 2007-01-07 10:00:23 +0000 (Sun, 07 Jan 2007)

Generate project files for VC6 that will link the Ruby bindings with
the Ruby library.

* build/generator/
  (WinGeneratorBase.__init__): Find build information for the Ruby bindings.
  (WinGeneratorBase.get_win_includes): Add found include paths for the Ruby
  (WinGeneratorBase.get_win_lib_dirs): Add found library directory for the
  Ruby bindings.
  (WinGeneratorBase.get_win_libs): Add found library name for the Ruby
  (WinGeneratorBase._find_ruby): New method.

Patch by: Joe Swatosh
Approved by: dlr

r863002 | kou | 2007-01-08 00:25:36 +0000 (Mon, 08 Jan 2007)

Follow-up r22926. Use ";" instead of "\n" for multi statements.

* build/generator/ (WinGeneratorBase._find_ruby): 
  The -e parameter needs to be all on one line. So the semicolons are

Patch by: Joe Swatosh

r863030 | kou | 2007-01-10 14:39:01 +0000 (Wed, 10 Jan 2007)

Resolve dependency.

* subversion/bindings/swig/ruby/test/test_fs.rb: Require MD5 module.

Patch by: Joe Swatosh

r863105 | kou | 2007-01-16 14:44:53 +0000 (Tue, 16 Jan 2007)

Don't delete a file system because we can't ensure the file system is closed.

* subversion/bindings/swig/ruby/test/test_fs.rb
  (SvnFsTest#test_create): Don't call Svn::Fs::FileSystem.delete.

Suggested by: Joe Swatosh

r863140 | kou | 2007-01-17 13:35:47 +0000 (Wed, 17 Jan 2007)

Add workaround for different time precisions between Subversion and Ruby on

* subversion/bindings/swig/ruby/test/test_fs.rb
  (SvnFsTest#test_transaction): Hack solution to problem of Subversion and
    Ruby using clocks with different precisions in this test.

Patch by: Joe Swatosh

r863162 | kou | 2007-01-18 15:24:37 +0000 (Thu, 18 Jan 2007)

Normalize line break to work on Windows.

* subversion/bindings/swig/ruby/test/test_client.rb
   SvnClientTest#test_windows_simple_provider): Normalize line break of
  source to remove dependency on platform.

Suggested by: Joe Swatosh

r863221 | kou | 2007-01-21 15:10:01 +0000 (Sun, 21 Jan 2007)

Implement Svn::Fs::FileSystem#close and Svn::Repos::ReposCore#close to
be able to delete them on your timing.

* subversion/bindings/swig/core.i (apr_pool_wrapper_t::destroy): New method.

* subversion/bindings/swig/ruby/svn/util.rb
  (Svn::Util.set_methods): Use module_eval instead of define_method.

* subversion/bindings/swig/ruby/svn/fs.rb
  (Svn::Fs): Remove needless Fs. prefix.
  (Svn::Fs::FileSystem.create, Support block.

* subversion/bindings/swig/ruby/svn/repos.rb
  (Svn::Repos::ReposCore.create, Support block.

* subversion/bindings/swig/ruby/svn/error.rb
  (Svn::Error::SvnError): New super class for Subversion errors.
  (Svn::Error::FsAlreadyClose, Svn::Error::ReposAlreadyClose):
  New error class.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c,
   svn_swig_rb_raise_svn_repos_already_close): New function.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
  (rb_svn_error_svn_error): New function.
  (svn_swig_rb_svn_error_new): Use Svn::Error::SvnError instead of Svn::Error.
* subversion/bindings/swig/include/svn_types.swg
  (%typemap(argout) SWIGTYPE **OUTPARAM_WITH_BLOCK,
   %apply SWIGTYPE **OUTPARAM_WITH_BLOCK): Support block form object creattion
  that close the object automatically.
  (%raise_if_null(TYPE)): New typemap(check) macro.
  (%raise_if_null(fs), %raise_if_null(repos)): Add NULL check.
  (%define_close_related_methods(TYPE)): New macro that define close and
  closed? methods to TYPE class.

* subversion/bindings/swig/svn_fs.i
  (%define_close_related_methods(fs)): Define Svn::Fs::FileSystem#close
  and Svn::Fs::FileSystem#closed?.

* subversion/bindings/swig/svn_repos.i
  (%define_close_related_methods(repos)): Define Svn::Repos::ReposCore#close
  and Svn::Repos::ReposCore#closed?.

* subversion/bindings/swig/ruby/test/util.rb
  (SvnTestUtil#teardown_repository): Ensure that a temporary repository is
  deleted for test.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#test_mkdir): Follow error class hierarchy changes.

* subversion/bindings/swig/ruby/test/test_fs.rb
  (SvnFsTest#test_create): Use block style to close fs automatically.

* subversion/bindings/swig/ruby/test/test_repos.rb
  (SvnReposTest#test_create): Use block style to close fs automatically. 

Suggested by: Joe Swatosh

r863392 | kou | 2007-02-01 11:27:16 +0000 (Thu, 01 Feb 2007)

Support running tests for the Ruby bindings on Windows.

* subversion/bindings/swig/ruby/test/windows_util.rb
  New method for Windows.

* subversion/bindings/swig/ruby/test/util.rb
   SvnTestUtil::SetupEnvironment#setup_test_environment): Move from
  - Include SvnTestUtil::Windows::Svnserve for Windows or
    SvnTestUtil::Svnserve for others.
  - Extend SvnTestUtil::Windows::SetupTestEnvironment for Windows or
    SvnTestUtil::SetupEnvironment for others.

* subversion/bindings/swig/ruby/test/run-test.rb:
  Use SvnTestUtil.setup_test_environment.

Patch by: Joe Swatosh

r863401 | kou | 2007-02-02 15:07:04 +0000 (Fri, 02 Feb 2007)

* subversion/bindings/swig/ruby/test/windows_util.rb: Set svn:eol-style
  for Windows.

Suggested by: Joe Swatosh

r863857 | kou | 2007-03-12 12:15:43 +0000 (Mon, 12 Mar 2007)

Fix the Ruby bindings' test failures related line break on Windows.

* subversion/bindings/swig/ruby/test/test_client.rb
  Call normalize_line_break on the expected result for various tests.

Patch by: Joe Swatosh

r863885 | kou | 2007-03-14 10:36:04 +0000 (Wed, 14 Mar 2007)

Fix the Ruby bindings' test failures related line break on Windows.

* subversion/bindings/swig/ruby/test/test_info.rb
  (SvnInfoTest#test_diff): Use binary file IO on windows so the extra
  line ending nonsense isn't added to the data making it to the repository.

Patch by: Joe Swatosh

r863908 | kou | 2007-03-15 06:52:12 +0000 (Thu, 15 Mar 2007)

Fix the Ruby bindings test problem that temporary directory can't be
removed at exit because DLLs are still loaded.

* subversion/bindings/swig/ruby/test/windows_util.rb
  Use PATH environment variable instead of copying DLL.

Found by: Joe Swatosh

r863909 | kou | 2007-03-15 06:58:13 +0000 (Thu, 15 Mar 2007)

Fix the Ruby bindings' test failures related line break on Windows.

* subversion/bindings/swig/ruby/test/test_fs.rb
  (SvnFsTest#test_delta): Normalize line breaks of diff inputs and
  check sum targets because they are wrote to files in text mode.

Found by: Joe Swatosh   

r863998 | kou | 2007-03-20 09:18:34 +0000 (Tue, 20 Mar 2007)

Remove dependency on win32/service for the Ruby bindings test.

* subversion/bindings/swig/ruby/test/windows_util.rb
  - Use sc.exe instead of Win32::Service.
  - Restart svnserve each time.
  (SvnTestUtil::Windows::Svnserve#teardown_svnserve): Stop svnserve
  each time.
   SvnTestUtil::Windows::Svnserve#service_exists?): New method.
  Detect a folder where svnserve.exe exists to find svnserve.exe in

Suggested by: Joe Swatosh

r864073 | kou | 2007-03-22 07:11:24 +0000 (Thu, 22 Mar 2007)

Follow-up r23955 and r23956.

* subversion/bindings/swig/ruby/svn/client.rb:
  - Remove needless require and end.
  (Svn::Clienct::Context): Fix typos.

Found by: Joe Swatosh

r864131 | dlr | 2007-03-23 19:13:15 +0000 (Fri, 23 Mar 2007)

SWIG: Add sqlite3 dependency for testing the Ruby Windows bindings.

*  subversion/bindings/swig/ruby/test/windows_util.rb
  (SvnTestUtil::Windows::Svnserve#setup_svnserve): Add sqlite3.dll to
   the targets needed to start svnserve.

Patch by: Joe Swatosh <>

r864133 | dlr | 2007-03-23 19:26:18 +0000 (Fri, 23 Mar 2007)

SWIG: Assure config paths don't include any "\n" characters.

* subversion/bindings/swig/ruby/test/windows_util.rb
  Trim any trailing newlines from configuration read from gen-make.opts.

Patch by: Joe Swatosh <>

r864140 | kou | 2007-03-24 02:00:07 +0000 (Sat, 24 Mar 2007)

Follow changes by merging merge-tracking branch.

* subversion/bindings/swig/ruby/test/windows_util.rb
  Rename to ..
  ... this. And add bdb and sqlite directoreis to PATH.

Patch by: Joe Swatosh

r864190 | vgeorgescu | 2007-03-25 15:59:29 +0000 (Sun, 25 Mar 2007)

When running the test suite on Windows, copy all library dependency DLLs to the
root of the build tree (currently we only copy APR & friends, and require all
others to be somewhere in PATH).

To accomplish this, move some of the path detection and initialization
logic from WinGeneratorBase to GeneratorBase, which we already use in for other reasons.

* build/generator/
  (GeneratorBase.parse_options, GeneratorBase._find_bdb): Moved from
   WinGeneratorBase, minus the parts that print to stderr.
  (GeneratorBase.__init__): Call parse_options() and _find_bdb().
  (WinGeneratorBase.__init__): Move the parent class initialization to the
   start of the function. Check some of the values that we need and print
   warnings or errors if they are not found.

  Read the options from 'gen-make.opts', use them when creating gen_obj (an
  instance of GeneratorBase).
  (copy_changed_file): Print a human-friendly error message if the file isn't
  (_locate_libs): Remove the get() function. Use gen_obj's attributes to
   determine which DLLs should be copied and from where.

Suggested by: Joe Swatosh <>
Review by: Joe Swatosh <>

r864214 | kou | 2007-03-26 10:24:35 +0000 (Mon, 26 Mar 2007)

* subversion/bindings/swig/ruby/test/windows_util.rb
  Change recommended sqlite directory structure.

Patch by: Joe Swatosh

r864472 | kou | 2007-04-04 02:37:11 +0000 (Wed, 04 Apr 2007)

Fix EOL related tests on Windows.

* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnWcTest#assert_translated_eol) Removed if windows? test.
  (SvnWcTest#assert_translated_keyword) Open files for binary access.

* subversion/bindings/swig/ruby/svn/util.rb
  (Svn::Util.filename_to_temp_file) Open file for binary access.

Patch by: Joe Swatosh

r864569 | kou | 2007-04-07 12:16:22 +0000 (Sat, 07 Apr 2007)

* build/win32/make_gem.rb: Add required_ruby_version attribute.

Suggested by: Joe Swatosh

r864599 | joeswatosh | 2007-04-11 02:54:44 +0000 (Wed, 11 Apr 2007)

* COMMITTERS: add myself, partial access, for work on the Ruby bindings.

r864617 | joeswatosh | 2007-04-12 00:59:26 +0000 (Thu, 12 Apr 2007)

Accept NULL as changelist name argument of svn_client_commit4().

* subversion/bindings/swig/svn_client.i
  (%ignore svn_client_commit4,
   %apply const char *MAY_BE_NULL,
   _svn_client_remove_from_changelist): Accept NULL as changelist
  name argument of svn_client_commit4().

Patch by: kou

r864618 | joeswatosh | 2007-04-12 03:29:22 +0000 (Thu, 12 Apr 2007)

Accept NULL as changelist and matching_changelist arguments of

* subversion/bindings/swig/svn_wc.i
 (%ignore svn_wc_set_changelist,
  %apply const char *MAY_BE_NULL,
  _svn_wc_set_changelist): Accept NULL as changelist
 name argument of svn_wc_set_changelist().

Approved by: kou

r864680 | joeswatosh | 2007-04-17 16:19:28 +0000 (Tue, 17 Apr 2007)

Follow on to r24571.  Modify the signature of svn_swig_rb_proplist_receiver to
match the new svn_proplist_receiver_t.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h
  (svn_swig_rb_proplist_receiver): change signature to match 

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
  (svn_swig_rb_proplist_receiver): change signature to match 
  svn_proplist_receiver_t and implementation to use const char * instead of

r864700 | joeswatosh | 2007-04-18 05:03:06 +0000 (Wed, 18 Apr 2007)

Modify the swig long long definitions to make it so the Ruby bindings can be 
generated with versions of swig later than 1.3.24 and built with VC6 which 
doesn't support long long.

* subversion/bindings/swig/include/svn_global.swg
  clear the "long long" typemap then redefine the ones we care about so they
  are available to the apr_int64_t, apr_off_t and apr_time_t definitions, and
  "long long" is never actually generated in the source by SWIG.

Approved by: kou

r864801 | joeswatosh | 2007-04-23 21:00:09 +0000 (Mon, 23 Apr 2007)

Deal with compiler warning for (possible) narrowing conversion

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
 Make the definition of AOFF2NUM complete at preprocessor time instead of
 run time.

Reviewed by: dlr

r864802 | joeswatosh | 2007-04-23 21:03:39 +0000 (Mon, 23 Apr 2007)

Deal with compiler warning for narrowing conversion

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
 (svn_swig_rb_svn_date_string_to_time): Cast the seconds and microseconds
 pieces of apr_time_t to time_t before sending to rb_time_new

Reviewed by: dlr

r864807 | joeswatosh | 2007-04-23 21:25:23 +0000 (Mon, 23 Apr 2007)

Deal with compiler warning for multiple definition of snprintf macro.

* build/generator/
 (get_win_defines): Don't define snprintf for the Ruby projects since ruby.h
 has its own definition available.

Reviewed by: dlr

r864827 | joeswatosh | 2007-04-24 15:03:01 +0000 (Tue, 24 Apr 2007)

Make the Ruby bindings distribution stand alone by requiring the libdbXX.dll,
sqlite3.dll and optionally requiring intl3_svn.dll.

* build/win32/
 (_disttree) added libdbXX.dll, sqlite3.dll and intl3_svn.dll

Reviewed by: djh

r864845 | joeswatosh | 2007-04-25 04:30:20 +0000 (Wed, 25 Apr 2007)

Show that the repository is hosed before hotcopy fixes it.

* subversion/bindings/swig/ruby/test/test_fs.rb
 (assert_hotcopy) assert log_message raises when the repository is hosed

Reviewed by: kou

r865069 | joeswatosh | 2007-05-11 14:48:57 +0000 (Fri, 11 May 2007)

Update to match signatures of svn_client_copy4 and svn_client_move5 that
where modified in r24993

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#copy, Svn::Client::Context#move) add make_parents 
  argument defaulted to nil and invoke Svn::Client.copy4 and Svn::Client.move5
  with make_parents argument.

r865078 | joeswatosh | 2007-05-12 17:23:37 +0000 (Sat, 12 May 2007)

Use the passed in method to add the provider then show that it doesn't work
without a password, then does work with a password.  Finish what kou started.

* subversion/bindings/swig/ruby/test/test_client.rb
 (SvnClientTest#assert_simple_provider) finish implementing

r865079 | joeswatosh | 2007-05-12 22:47:59 +0000 (Sat, 12 May 2007)

Instead of skipping tests that can't be run because functions aren't 
implemented, don't define the test at all.

* subversion/bindings/swig/ruby/test/test_client.rb
 SvnClientTest#test_keychain_simple_provider) if the methods theses tests are 
 to test aren't implemented, don't define the test instead of skipping it.

r865093 | joeswatosh | 2007-05-15 06:13:50 +0000 (Tue, 15 May 2007)

Follow on to r25007 which added depth support to svn_client_proplist3.

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#proplist) changed argument name and default to
  reflect the use of depth instead of recurse in the core API.

Reviewed by: kou

r865107 | vgeorgescu | 2007-05-15 21:05:30 +0000 (Tue, 15 May 2007)

Follow-up to r25007, adding or improving a few comments.

Suggested by: kfogel

* subversion/include/svn_client.h
  (svn_client_proplist3): Explain what happens in the svn_depth_unknown case.

* subversion/libsvn_client/prop_commands.c
  (svn_client_proplist3): Explain initialization of adm_depth.
  (svn_client_proplist2): Explain why we need to convert recurse to depth
   manually, instead of using SVN_DEPTH_TO_RECURSE.

r865327 | joeswatosh | 2007-06-01 13:08:26 +0000 (Fri, 01 Jun 2007)

keeping up with the merge_info to mergeinfo changes

* subversion/bindings/swig/ruby/svn/fs.rb
 new aliases mergeinfo for merge_info and change_mergeinfo for 
 call Fs.get_mergeinfo instead of Fs.get_merge_info.
 call Fs.change_mergeinfo instead of Fs.change_merge_info.

* subversion/bindings/swig/ruby/svn/ra.rb
 new aliases mergeinfo for merge_info
 call Ra.get_mergeinfo instead of Ra.get_merge_info.

* subversion/bindings/swig/ruby/svn/repos.rb
 call Repos.fs_get_mergeinfo instead of Repos.fs_get_merge_info.

reviewed by: kou

r865336 | joeswatosh | 2007-06-02 00:17:58 +0000 (Sat, 02 Jun 2007)

 add preserve_exts argument

* subversion/bindings/swig/ruby/svn/wc.rb
 (update_editor, switch_editor) added new preserved_exts argument to

* subversion/bindings/swig/include/svn_containers.swg
 add "apr_array_header_t *preserved_exts" to the STRINGLIST types.

reviewed by: kou

r865346 | joeswatosh | 2007-06-04 00:53:48 +0000 (Mon, 04 Jun 2007)

* subversion/bindings/swig/include/svn_global.swg
 Added out and argout typemaps for apr_uint64_t (unsigned long long) for Ruby.
 Grouped the typemaps by type.

reviewed by: kou

r865586 | joeswatosh | 2007-06-23 04:24:57 +0000 (Sat, 23 Jun 2007)

Keep up with the svn_*_get_mergeinfo api changes in r24518.

* subversion/bindings/swig/ruby/svn/ra.rb
 (SVN::Ra#merge_info): change boolean "include_parents" argument to "inherit"
 which is Ruby representation of svn_mergeinfo_inheritance_t.

* subversion/bindings/swig/ruby/svn/fs.rb
 (SVN::Fs#merge_info): change boolean "include_parents" argument to "inherit"
 which is Ruby representation of svn_mergeinfo_inheritance_t.

* subversion/bindings/swig/ruby/svn/fs.rb
 (SVN::Repos#merge_info): change boolean "include_parents" argument to
 "inherit" which is Ruby representation of svn_mergeinfo_inheritance_t.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h
 (svn_swig_rb_to_mergeinfo_inheritance): new declaration

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
 (svn_swig_rb_to_mergeinfo_inheritance): new function to convert Ruby objects
 into svn_mergeinfo_inheritance_t.

* subversion/bindings/swig/include/svn_types.swg
 (svn_mergeinfo_inheritance_t): new atypemap.

reviewed by: kou

r865675 | joeswatosh | 2007-07-01 19:01:07 +0000 (Sun, 01 Jul 2007)

Follow on to r25068 which allows svn_client_get_mergeinfo to return NULL.

* subversion/bindings/swig/ruby/test/test_client.rb
(SvnClientTest#test_merge) expect nil instead of an empty hash
(SvnClientTest#test_merge_peg) expect nil instead of an empty hash

* subversion/bindings/swig/ruby/svn/client.rb
(Svn::Client::Context#merge_info) don't create a Svn::Core::MergeInfo object
if Svn::Client.get_mergeinfo returns nil, just return nil.

reviewed by: kou

r865814 | djames | 2007-07-14 17:55:13 +0000 (Sat, 14 Jul 2007)

Update svn_global.swg to clear the 'long long' and 'unsigned long long'
typemaps. Update SWIG build infrastructure to remove the SWIG checkout
system, which is now no longer needed.

Patch by: me

* subversion/bindings/swig/include/svn_global.swg:
  Clear the 'long long' and 'unsigned long long' typemaps.

* build.conf
  (swig-checkout-files): Remove.

* build/generator/
  (Generator.write): Remove logic for calling swig_checkout_files.

* build/generator/swig/
  (Generator.__init__): Remove logic for grabbing swig_checkout_files
  from build.conf.

* build/generator/swig/
  Remove now-unneeded file.

r866043 | joeswatosh | 2007-08-06 23:04:19 +0000 (Mon, 06 Aug 2007)

Fix building of Ruby bindings for windows broken in 25740 and 25876.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c: restored
 #include of rubyhead.swg for windows builds.

r866044 | joeswatosh | 2007-08-06 23:11:07 +0000 (Mon, 06 Aug 2007)

Make sure the test-svn-server is truly stopped before trying to start it.

* subversion/bindings/swig/ruby/test/windows_util.rb: stop the service before
 trying to start it for the test.

r866078 | joeswatosh | 2007-08-09 02:47:18 +0000 (Thu, 09 Aug 2007)

Update tests that test for ranges of revisions to expect what is returned.
Range results returned changed sometime during merge tracking development.

* subversion/bindings/swig/ruby/test/test_client.rb (test_merge)

* subversion/bindings/swig/ruby/test/test_ra.rb (test_merge_info)

* subversion/bindings/swig/ruby/test/test_core.rb (test_merge_info_parse, 
  test_merge_info_diff, test_merge_info_merge, test_merge_info_remove,
  test_merge_info_sort, test_range_list_diff, test_range_list_remove, 
  test_range_list_intersect, test_range_list_to_s)

r866079 | joeswatosh | 2007-08-09 02:48:47 +0000 (Thu, 09 Aug 2007)

Update Ruby bindings to wrap the new svn_boolean_t ignore_externals argument
in svn_client_switch2.

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#switch): Add new ignore_externals argument, which
  defaults to false.

r866080 | joeswatosh | 2007-08-09 02:51:31 +0000 (Thu, 09 Aug 2007)

Update Ruby bindings to wrap the new conflict resolving callbacks accepted
by svn_wc_get_update_editor3.

* subversion/bindings/swig/include/svn_types.swg:
  Add new in and argout typemaps for svn_wc_conflict_resolver_func_t.
* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h,
  (svn_swig_rb_conflict_resolver_func): New function.

* subversion/bindings/swig/ruby/svn/wc.rb
  (Svn::Wc::AdmAccess#update_editor): Add new conflict_func argument, which
  defaults to nil.

r866145 | joeswatosh | 2007-08-14 14:36:39 +0000 (Tue, 14 Aug 2007)

At some point svn_client_diff_summarize2 must have changed to
not report the path if the diff requested was on a file instead of a
directory.  The doc for the path field of the svn_client_diff_summarize_t
struct in svn_client.h says "Path relative to the target.  If the target is a 
file, path is  the empty string."

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#test_diff_summarize) pass the parent directory to
  Svn::Client::Context#diff_summarize instead of the actual file so
  there will be a path to summarize.
  (SvnClientTest#test_diff_summarize_peg) pass the uri of the parent
  directory to Svn::Client::Context#diff_summarize_pet instead of the
  actual file uri so there will be a path to summarize.

r866274 | blair | 2007-08-20 05:48:01 +0000 (Mon, 20 Aug 2007)

* subversion/tests/libsvn_subr/revision-test.c
    Fix compile error.

Found by: joeswatosh

r866295 | joeswatosh | 2007-08-21 06:29:17 +0000 (Tue, 21 Aug 2007)

Update tests that test for ranges of revisions to expect what is returned.
Range results returned changed sometime during merge tracking development.
Also create a default peg_revision for Svn::Client::Context#merge_peg.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#test_merge_peg) Update ranges of revisions to expect what is
  returned.  Range results returned changed sometime during merge tracking 
  development and the tests need to keep up.

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#merge_peg) if a peg revision is not specified, default
  to HEAD if the source is a uri or WORKING otherwise.
  (Svn::Client::Context#uri?) new private function to determine if a path
  should be considered a uri.

r866388 | joeswatosh | 2007-08-25 21:20:09 +0000 (Sat, 25 Aug 2007)

Follow on to r26222 which added a depth argument to svn_repos_begin_report2.

* subversion/bindings/swig/ruby/svn/repos.rb:
  (Svn::Repos::ReposCore#report2) forwarded the already existing depth argument
  to Svn::Repos#begin_report_2.

Review by: kou

r866393 | joeswatosh | 2007-08-26 03:04:40 +0000 (Sun, 26 Aug 2007)

Follow on to r26229 which added support for non-inheritable mergeinfo revision

* subversion/bindings/swig/core.i
  (svn_swig_rb_mergeinfo_merge and svn_swig_rb_rangelist_merge): Add new
  svn_merge_range_inheritance_t argument and forward to svn_mergeinfo_merge
  and svn_rangelist_merge respectively.

* subversion/bindings/swig/include/svn_types.swg
  (%typemap(in) svn_merge_range_inheritance_t): New typemap.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c,
  (svn_swig_rb_to_merge_range_inheritance): New conversion function.

* subversion/bindings/swig/ruby/svn/core.rb
  (Svn::Core::MergeInfo#diff, Svn::Core::MergeInfo#merge,
  Svn::Core::RangeList#diff, Svn::Core::RangeList#merge,
  Svn::Core::RangeList#remove): Add a new argument consider_inheritance
  which is defaulted to nil.

* subversion/bindings/swig/ruby/test/test_core.rb
  (SvnCoreTest#test_merge_info_to_s): Make more self-describing.

Review by: kou

r866398 | joeswatosh | 2007-08-26 05:53:33 +0000 (Sun, 26 Aug 2007)

Follow on to r26241 which changed the recurse argument to depth for 

* subversion/bindings/swig/svn_client.i
  (_svn_client_commit4): Change recurse parameter to depth.

r866402 | joeswatosh | 2007-08-26 17:38:58 +0000 (Sun, 26 Aug 2007)

Replace several uses of merge_info with mergeinfo.

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

r866463 | joeswatosh | 2007-08-30 13:56:32 +0000 (Thu, 30 Aug 2007)

Finish up the follow on to r26229 for the Ruby bindings.  r26228 added support
for non-inheritable mergeinfo revision ranges.

* subversion/bindings/swig/core.i
  (Svn::Ext::Core::Svn_merge_range_t#initialize): Add a new svn_boolean_t
  inheritable argument and use it to set the new inheritable member of

* subversion/bindings/swig/ruby/svn/core.rb
  (Svn::Core::MergeRange#to_a): Add the new inhertitable member to the
  returned array.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#test_merge, SvnClientTest#test_merge_peg): Update the
  expected results that are representations of svn_merge_range_t structs so
  they include the new inheritable member.

* subversion/bindings/swig/ruby/test/test_core.rb
  (SvnCoreTest#test_mergeinfo_parse): Update the expected results that are
  representations of svn_merge_range_t structs so they include the new
  inheritable member.  New assertions to demonstrate "non-inheritable" ranges.

  (SvnCoreTest#test_mergeinfo_diff, SvnCoreTest#test_mergeinfo_merge,
  SvnCoreTest#test_mergeinfo_remove, SvnCoreTest#test_mergeinfo_sort): Update
  the expected results that are representations of svn_merge_range_t structs
  so they include the new inheritable member.

  (SvnCoreTest#test_mergeinfo_to_s): New assertions to demonstrate "non-
  inheritable" ranges.

  (SvnCoreTest#test_range_list_diff, SvnCoreTest#test_range_list_merge,
  SvnCoreTest#test_range_list_remove, SvnCoreTest#test_range_list_intersect,
  SvnCoreTest#test_range_list_reverse, SvnCoreTest#test_range_list_to_s):
  Update the invocations of to include the new
  inheritable argument. Update the expected results that are representations
  of svn_merge_range_t structs so they include the new inheritable member.

* subversion/bindings/swig/ruby/test/test_ra.rb
  (SvnRaTest#test_mergeinfo): Update the expected results that are
  representations of svn_merge_range_t structs so they include the new
  inheritable member.

Review by: kou

r866688 | joeswatosh | 2007-09-15 19:46:05 +0000 (Sat, 15 Sep 2007)

Follow on to r26471 which merged copy-on-updates branch to trunk.  This merely 
gets the existing tests passing, it doesn't actually add new capabilities to 
the bindings.  Some TODOs to remember to implement the functionality later.

This is a slightly different implementation than has been used in the past for 
callbacks.  Instead of exporting the callback implementation directly I 
created a "getter" function so if the svn_wc_get_file_t interface changes we 
will get a compiler error.

* subversion/bindings/swig/ruby/svn/wc.rb
  (Svn::Wc::AdmAccess#update_editor): Add a nil fetch_func argument to the
  call to Wc.get_update_editor3.
* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h
  (svn_swig_rb_fetch_func_getter): New function.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
  (svn_swig_rb_fetch_func_getter, svn_swig_rb_fetch_func): New functions. 
  svn_swig_rb_fetch_func_getter returns a pointer to svn_swig_rb_fetch_func a 
  placeholder implementation that will eventually forward to the fetch_func.

* subversion/bindings/swig/include/svn_types.swg
  (%typemap(in) (svn_wc_get_file_t fetch_func, void *fetch_baton),
   %typemap(argout) (svn_wc_get_file_t fetch_func, void *fetch_baton)): New
  typemaps to support the fetch_func callback.

r866689 | joeswatosh | 2007-09-15 20:22:21 +0000 (Sat, 15 Sep 2007)

Follow on to r26477 which implemented the command-line UI bits of issue #2822, 
exposing an option which allows 'copy' and 'move' operations to propagate 
merge history.

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#copy, Svn::Client::Context#copy): Add new 
  with_merge_history parameter and forward to Client.copy4 and Client.move5 

r866692 | joeswatosh | 2007-09-15 21:40:37 +0000 (Sat, 15 Sep 2007)

Follow on to r26503: "Send copyfrom-args on updates *only* if the client 
explicitly requests them."

* subversion/bindings/swig/ruby/svn/ra.rb
  (Svn::Ra::Session#update2): Add new send_copyfrom_args parameter and forward 
  to Ra.do_update2.
* subversion/bindings/swig/ruby/svn/repos.rb
  (Svn::Repos::ReposCore#report2): Add new send_copyfrom_args parameter and 
  forward to Repos.begin_report2.

r866700 | joeswatosh | 2007-09-16 18:23:44 +0000 (Sun, 16 Sep 2007)

Follow on to r26607: "Add --depth support to 'svn add' and 'svn import', as 
part of issue #2847. This is also part of issue #2284 ("TODO(sd)" cleanup)."

Deal with the new semantic of 'svn add -N'

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#test_add_not_recurse): Use a directory instead of a file 
  since the new semantic of 'svn add -N' is to add files but not 
  (SvnClientTest#test_add_no_ignore): Create the ignored file after the first 
  add so it isn't commited.

r866728 | joeswatosh | 2007-09-18 02:59:10 +0000 (Tue, 18 Sep 2007)

Follow on to r26637: "Plop in a stub for svn_client_mergeinfo_get_available(), 
and rename svn_client_get_mergeinfo() for consistency."

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#mergeinfo): Invoke Client.mergeinfo_get_merged instead 
  of Client.get_mergeinfo renamed in r26637.

r866729 | joeswatosh | 2007-09-18 03:38:36 +0000 (Tue, 18 Sep 2007)

Remove untested function introduced in r26614.  Instead of doing a half baked 
callback implementation, just set the fetch_func and fetch_baton arguments to 
svn_wc_get_update_editor3 to NULL.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h
  (svn_swig_rb_fetch_func_getter): Remove function.
* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
  (svn_swig_rb_fetch_func_getter,svn_swig_rb_fetch_func): Remove functions.

* subversion/bindings/swig/include/svn_types.swg
  (%typemap(in) (svn_wc_get_file_t fetch_func, void *fetch_baton)): Instead of 
  setting the callback to an untested function, set to NULL to invoke the 
  default function.

r866768 | joeswatosh | 2007-09-20 03:26:52 +0000 (Thu, 20 Sep 2007)

Follow on to r26666 "For issue #2820, finish the first draft of 
svn_client_mergeinfo_get_available. Also, change the way that 
svn_client_mergeinfo_get_merged returns paths."

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#test_merge, SvnClientTest#test_merge_peg): Update the 
  expected key in the mergeinfo hash and use the new key to access the data in 
  the hash.

r866771 | joeswatosh | 2007-09-20 05:48:13 +0000 (Thu, 20 Sep 2007)

Follow on to r26675 "Prepare infrastructure for further work on issue #2847 
('depthy APIs') and issue #2844 ('take care of remaining "TODO(sd)" 

* subversion/bindings/swig/ruby/svn/wc.rb
  (Svn::Wc::AdmAccess#walk_entries): Add depth parameter.

r866871 | joeswatosh | 2007-09-27 04:53:06 +0000 (Thu, 27 Sep 2007)

Channeling Hyrum Wright (who was channeling Erik Hülsmann) removed some more 
trailing whitespace within our source tree.

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

r866926 | joeswatosh | 2007-09-30 03:42:05 +0000 (Sun, 30 Sep 2007)

Implement Svn::Client::Context#propdel in terms of
Svn::Client::Context#propset so we only have to maintain a single invocation
of Client.propsetX.

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#propdel): invoke Svn::Client::Context#propset with a
  nil property value.

r866927 | joeswatosh | 2007-09-30 03:53:57 +0000 (Sun, 30 Sep 2007)

Follow on to r26745 "Implement 'svn propset --depth' and 'svn propget --
depth'."  r26745 changed the meaning of 'recurse' in svn_client_propget2 and
started changed svn_client_propset3 to expect a 'depth' instead of 'recurse.'
So we'll just convert from recurse to depth ourselves, and update the from
Client.propget2 to Client.propget4.

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#propset): Convert from recurse to depth here instead
  of using the standard conversion so this method will maintain its current
  (Svn::Client::Context#propget): Convert from recurse to depth here instead
  of using the standard conversion so this method will maintain its current
  meaning.  Prefer the latest version of the svn_client_propget api.

r866938 | joeswatosh | 2007-10-01 05:36:40 +0000 (Mon, 01 Oct 2007)

Follow on to r25969.  Tweaked to work with more versions of SWIG.  Tested with
SWIG versions 1.3.24, 1.3.25, 1.3.27, 1.3.29, and 1.3.31.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c: restored
  #include of rubyhead.swg for windows builds.

r867075 | joeswatosh | 2007-10-06 22:17:58 +0000 (Sat, 06 Oct 2007)

Follow on to r26922 "Plumb the conflict callback handling into svn switch."

* subversion/bindings/swig/ruby/svn/wc.rb
  (Svn::Wc::AdmAccess#switch_editor): Add nil conflict_func argument to
  invocation of Svn::Ext::Wc#get_switch_editor3.

r867090 | joeswatosh | 2007-10-08 04:29:18 +0000 (Mon, 08 Oct 2007)


* subversion/bindings/swig/ruby/svn/client.rb
* subversion/bindings/swig/ruby/svn/wc.rb
* subversion/bindings/swig/ruby/test/test_client.rb
* subversion/bindings/swig/ruby/test/test_wc.rb

r867252 | joeswatosh | 2007-10-14 18:08:51 +0000 (Sun, 14 Oct 2007)

Follow on to r27073 "Don't allow directories in changelists, and warn user if 
a path moves between changelists."  This is in response to the warning when 
moving changelists.

* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnWcTest#test_changelist): Expect a warning notification when adding a
  file that is in a changelist into a different changelist.

r867259 | joeswatosh | 2007-10-15 05:43:55 +0000 (Mon, 15 Oct 2007)

Inspired by r27180 "2nd pass revision to conflict-callback API, in preparation 
for prop conflicts." Which broke my half baked implementation of 
svn_swig_rb_conflict_resolver_func.  I haven't been able to find a way to test 
this, so its best to just delete it and mark it with TODOs.

* subversion/bindings/swig/ruby/svn/wc.rb
  (Svn::Wc::AdmAccess#update_editor, Svn::Wc::AdmAccess#switch_editor): 
  Removed conflict_func argument.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h
* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
  (svn_swig_rb_conflict_resolver_func): Removed function.

* subversion/bindings/swig/include/svn_types.swg
  (typemap(in) (svn_wc_conflict_resolver_func_t conflict_func, void 
  *conflict_baton)) modified to assign NULL to the conflict_func callback and 
  its baton.  Mark with TODO.

r867663 | joeswatosh | 2007-11-05 05:56:39 +0000 (Mon, 05 Nov 2007)

Make the control of the test svnserve service more reliable in the face of my 
impatience (control-c) and the occasional seg-fault when testing.  Basically, 
make sure the service is created for every run of the tests by using a class 
variable instead of the existance of the service as the test to decide if it
needs to be installed.

* subversion/bindings/swig/ruby/test/windows_util.rb
  (SvnTestUtil::Windows::Svnserve#service_control): Return the state of the
  service when querying.
  (SvnTestUtil::Windows::Svnserve#service_stopped): New method
  (SvnTestUtil::Windows::Svnserve#setup_svnserve): Use a class variable 
  instead of the existance of the service to decide whether or not to setup 
  the service.  Make sure prior installations of the service are stopped and 
  uninstalled.  During winddown, make sure the service is stopped before 
  trying to remove it.  Trap Control-C so the service can be shutdown and 
  (SvnTestUtil::Windows::Svnserve#teardown_svnserve): Use the service_stopped? 
  predicate instead of the service_exists? to control if the service should be 

r867665 | joeswatosh | 2007-11-05 14:21:52 +0000 (Mon, 05 Nov 2007)

Provide a simple way for test writers to create a Greek tree for testing, plus
some helper methods to access the files and directories in the working copy
and the repository.

* subversion/bindings/swig/ruby/test/util.rb
  (SvnTestUtil#setup_basic): Define constants for the greek tree.
  (SvnTestUtil::GreekTree): New constant
  (SvnTestUtil#setup_greek_tree, SvnTestUtil.greek_constants_defined?,
  SvnTestUtil.define_greek_constants, SvnTestUtil#wc_path_for,
  SvnTestUtil#uri_for): New methods

Reviewed by: kou

r867666 | joeswatosh | 2007-11-05 14:25:01 +0000 (Mon, 05 Nov 2007)

New tests to show that the depth (or recurse) arguments to propset, propget,
and proplist on Svn::Client::Context are handled correctly.  Plus handling
them correctly.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#recurse_and_depth_choices, SvnClientTest#test_file_prop,
  SvnClientTest#test_dir_prop): New methods.

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#depth_from_depth_or_recurse): New private method.
  (Svn::Client::Context#propset, Svn::Client::Context#propget,
  Svn::Client::Context#proplist): Change the argument name to depth_or_recurse
  and calculate the depth from the argument.

Reviewed by: kou

r867699 | joeswatosh | 2007-11-06 17:58:45 +0000 (Tue, 06 Nov 2007)

Use common idiom for deciding if the method is to operate on a working copy
or a repository.  Effectively reverts part of r26221.

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#merge_peg2): Use same idiom used in other methods in 
  this class to determine if we are acting on a working copy or repository.
  (Svn::Client::Context#uri?): Remove redundant method.

r867750 | joeswatosh | 2007-11-07 22:34:22 +0000 (Wed, 07 Nov 2007)

Make a minimal attempt to maintain compatibility with 1.4.  There are no tests
for the older APIs that I know of, but if someone was using these before, we
hope they continue working the same as they always have.

* subversion/bindings/swig/ruby/svn/wc.rb
  (Svn::Wc::AdmAccess#update_editor2): Renamed from #update_editor.
  (Svn::Wc::AdmAccess#switch_editor2): Renamed from #switch_editor.
  copy-pasted from the 1.4.x branch.

* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnWcTest#test_update_editor, SvnWcTest#test_switch_editor): Update to
  match the API changes above

r867751 | joeswatosh | 2007-11-07 22:38:18 +0000 (Wed, 07 Nov 2007)

* bindings/swig/ruby/test/greek_tree.rb:
  Set eol-style to native.

r867778 | joeswatosh | 2007-11-08 07:09:26 +0000 (Thu, 08 Nov 2007)

Follow on to r27681 to get the test_mergeinfo_to_s to pass again.

* subversion/bindings/swig/core.i
  (%apply apr_hash_t *MERGEINFO): apply to *mergeinfo.

r867812 | joeswatosh | 2007-11-09 06:32:30 +0000 (Fri, 09 Nov 2007)

Follow on to r27729.  Fix the Ruby bindings tests to wield the RA API legally.

* subversion/bindings/swig/ruby/test/test_ra.rb
* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnWcTest#test_switch_editor, SvnWcTest#test_update_editor)
  Don't pass absolute filesystem paths through the RA API.

r867827 | blair | 2007-11-10 05:24:40 +0000 (Sat, 10 Nov 2007)

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h
    Make sure that this function is properly exported on Windows.

Patch by: joeswatosh

r867897 | joeswatosh | 2007-11-15 05:19:39 +0000 (Thu, 15 Nov 2007)

Use a hash to simulate named arguments instead of a long list of optional

* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnWcTest#test_update_editor_options): New test

* subversion/bindings/swig/ruby/svn/wc.rb
   Use a hash of optional arguments instead of a very long argument list.

* subversion/bindings/swig/ruby/svn/util.rb
  (Svn::Util.validate_options): New method to ensure hash arguments
   are understood.

Reviewed by: kou

r867912 | joeswatosh | 2007-11-15 22:05:15 +0000 (Thu, 15 Nov 2007)

Make Svn::Client::Context#info depth aware.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#test_info_with_depth): New test.

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#info): Handle depth as an alternative to recurse.

r867971 | joeswatosh | 2007-11-17 05:22:08 +0000 (Sat, 17 Nov 2007)

Follow on to r27875 "Implement issue #2723, adding support to libsvn_client
and libsvn_diff to provide consumers with the ability to output unified diff
paths relative to a particular directory."

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#diff, Svn::Client::Context#diff_peg): Add new
   relative_to_dir argument to follow along with the api changes in
   svn_client_diff4 and svn_client_diff_peg4.

r867974 | joeswatosh | 2007-11-17 08:10:53 +0000 (Sat, 17 Nov 2007)

Reduce duplication by eliminating the OPTIONAL_*_EDITOR_KEYS and some
renaming to improve clarity.

* subversion/bindings/swig/ruby/svn/wc.rb
   rename argument and local variables to improve clarity.

Review by: kou

r867976 | joeswatosh | 2007-11-17 18:05:54 +0000 (Sat, 17 Nov 2007)

Move and rename Svn::Client::Context#depth_from_depth_or_recurse to 
Svn::Core::Depth.infinity_or_empty_from_recurse which makes better sense as a 
location and is named much more closely to the C macro that it is similar to.

* subversion/bindings/swig/ruby/svn/core.rb
  (Svn::Core::Depth.infinity_or_empty_from_recurse): Move and rename from

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#depth_from_depth_or_recurse): Move and rename to
  (Svn::Client::Context#propset, Svn::Client::Context#propget,
   Svn::Client::Context#proplist, Svn::Client::Context#info): Adapt to above

r867977 | joeswatosh | 2007-11-17 20:51:30 +0000 (Sat, 17 Nov 2007)

Remove assertions about depths that we don't want to test the behavior of.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#recurse_and_depth_choices): Remove some depth choices we
   don't want to test for.
  (SvnClientTest#test_file_prop, SvnClientTest#test_info_with_depth): Remove
   expected results for depths we don't want to test for.

r867979 | joeswatosh | 2007-11-17 21:40:47 +0000 (Sat, 17 Nov 2007)

Make Svn::Client::Context#info depth aware.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#test_status_with_depth): New test.

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#status): Rename depth argument to depth_or_recurse,
   make sure depth_or_recurse is converted to depth.
* subversion/bindings/swig/ruby/svn/core.rb
  (Svn::Core::Depth.infinity_or_empty_from_recurse): Remove unused local 
  (Svn::Core::Depth.infinity_or_immediates_from_recurse): New function.

r867985 | joeswatosh | 2007-11-19 05:25:17 +0000 (Mon, 19 Nov 2007)

Make :target_revision argument optional instead of required for 
Svn::Wc::AdmAcess#update_editor2 and Svn::Wc::AdmAcess#switch_editor2

* subversion/bindings/swig/svn_wc.i
  (%typemap(in) svn_revnum_t *target_revision): Make nil default to 

* subversion/bindings/swig/ruby/svn/wc.rb
  (Svn::Wc::AdmAcess#update_editor2, Svn::Wc::AdmAcess#switch_editor2): Make
   :target_revision an optional instead of required argument.

patch by: kou

r867986 | joeswatosh | 2007-11-19 14:54:30 +0000 (Mon, 19 Nov 2007)

Effectivly revert r27676 for Svn::Wc::AdmAccess#update_editor and 

* subversion/bindings/swig/ruby/svn/wc.rb
  copy-pasted from r27675 of trunk.

r867987 | joeswatosh | 2007-11-19 15:03:21 +0000 (Mon, 19 Nov 2007)

Make the target_revision argument optional for 
Svn::Wc::AdmAccess#update_editor and Svn::Wc::AdmAccess#switch_editor.

* subversion/bindings/swig/ruby/svn/wc.rb
  Make the target_revision argument optional.

r868044 | joeswatosh | 2007-11-21 19:12:02 +0000 (Wed, 21 Nov 2007)

Follow on to r27943 "Mark svn_rangelist_to_stringbuf's rangelist 
parameter as 'const'."

* subversion/bindings/swig/core.i
  (%apply apr_array_header_t *RANGELIST): Add const apr_array_header_t 
   *rangelist to %apply.

r868045 | joeswatosh | 2007-11-21 19:13:05 +0000 (Wed, 21 Nov 2007)

Follow on to r27951 "Fix issue #1893: make svn_client_commitX always 
return a valid structure in commit_info_p as promised."

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#test_commit): Expect a 
   Svn::Ext::Core::Svn_commit_info_t with an invalid revision number 
   instead of nil when nothing is actually committed.

r868046 | joeswatosh | 2007-11-21 19:13:37 +0000 (Wed, 21 Nov 2007)

Follow on to r27958 "Remove svn_depth_exclude from the API."

* subversion/bindings/swig/ruby/test/test_core.rb
  (SvnCoreTest#test_depth_conversion): Don't expect there to be a 
   Svn::Core::DEPTH_EXCLUDE constant.

r868091 | joeswatosh | 2007-11-26 00:20:15 +0000 (Mon, 26 Nov 2007)

Follow on to r28002 which merged the 'mergeinfoless-copies' branch into trunk.

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#copy, Svn::Client::Context#move): Remove obsolete
   with_merge_history argument.

r868092 | joeswatosh | 2007-11-26 00:20:47 +0000 (Mon, 26 Nov 2007)

Duplication reduction by using Svn::Wc::AdmAccess#update_editor2 to implement
update_editor, and Svn::Wc::AdmAccess#switch_editor2 to implement

* subversion/bindings/swig/ruby/svn/wc.rb
  (Svn::Wc::AdmAccess#update_editor): Implement with update_editor2.
  (Svn::Wc::AdmAccess#switch_editor): Implement with switch_editor2.

Suggested by: kou

r868093 | joeswatosh | 2007-11-26 00:27:24 +0000 (Mon, 26 Nov 2007)

Canonicalize the relative_to_dir argument to diff and diff_peg.

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#diff, Svn::Client::Context#diff_peg): Make sure the
   relative_to_dir has been canonicalized.

Suggested by: dlr

r868094 | joeswatosh | 2007-11-26 01:40:19 +0000 (Mon, 26 Nov 2007)

Make Svn::Client::Context#list depth aware.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#test_list_with_depth): New test.

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#status): Rename recurse argument to depth_or_recurse,
   make sure depth_or_recurse is converted to depth.  Use svn_client_list2
   instead of svn_client_list.

r868185 | joeswatosh | 2007-11-28 07:26:39 +0000 (Wed, 28 Nov 2007)

Make the default values for optional arguments be in only one place.

* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnWcTest#test_update_editor, SvnWcTest#test_switch_editor,
   SvnWcTest#test_update_editor_options): Use the previous api, since that
   will forward to the new api to get better coverage.

* subversion/bindings/swig/ruby/svn/wc.rb
   Remove nil values from the arguments Hash before merging in defaults.
   Make each optional argument default to nil.

Suggested by: kou

r868736 | joeswatosh | 2007-12-27 22:19:07 +0000 (Thu, 27 Dec 2007)

Follow on to r28109 "Treat paths provided to svn_ra_get_mergeinfo() as
relative to the session URL."

* subversion/bindings/swig/ruby/test/test_ra.rb
  (SvnRaTest#test_mergeinfo): The "trunk_uri" variable was actually being used
   as a "session_relative_trunk_path" so made the contents relative and
   renamed the the variable.  Also renamed the "branch_uri" variable to
   "repository_branch_path" (no changes were needed to it's content).

r868737 | joeswatosh | 2007-12-27 22:20:11 +0000 (Thu, 27 Dec 2007)

Follow on to r28187 "Remove the almost-completely-unused
svn_fs_change_mergeinfo API."

* subversion/bindings/swig/ruby/test/test_fs.rb
  (SvnFsTest#test_mergeinfo): Remove assertion about removed functionality.

r868738 | joeswatosh | 2007-12-27 22:20:55 +0000 (Thu, 27 Dec 2007)

Follow on to r28597 "Lose the non-streamy svn_client_get_changelist() API, as
it is redundant...." and r28598 "Rename and spice up
svn_client_get_changelist_streamy()" and r28605 "Teach
svn_client_get_changelist[s]() to handle multiple changelists, or to report on
any changelists found." and r28629 "Fix a buglet in the SWIG bindings for
svn_client_get_changelists()." and r28630 "Rename and repurpose
svn_hash_from_keys().  (Which, by the way, also has the effect of fixing a
broken svn_client_get_changelists() function.)"

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#assert_changelist): Expect a Hash instead of an Array from
  (SvnClientTest#test_changelist_get_with_block): Provide a Hash instead of
   an Array.

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#changelist): Accept a depth argument, return a Hash
   of changelist names to arrays of contents instead of an array.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h
* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
  (svn_swig_rb_changelist_receiver): Update signature to match

r868893 | joeswatosh | 2008-01-09 06:15:47 +0000 (Wed, 09 Jan 2008)

Add a new typemap that will allow taking advantage of cmpilato's changes to
the svn_client_get_changelists api which will return all the changelists if
the list is NULL.

* subversion/bindings/swig/include/svn_containers.swg: New typemap

* subversion/bindings/swig/svn_client.i: Remove the apply of STRINGLIST to
   changelists and apply STRINGLIST_MAY_BE_NULL to changelists.

r868894 | joeswatosh | 2008-01-09 06:57:29 +0000 (Wed, 09 Jan 2008)

Rename Svn::Client::Context#changelist to Svn::Client::Context#changelists and 
use the svn_client_get_changelists api as modified by cmpilato to get info 
about more than one changelist at a time.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#assert_changelists): Rename from 
   SvnClientTest#assert_changelist.  Add assertions to tryout various 
   changelist_names arrays (empty, nil, more than one member).
   test_changelists_get_with_block): Rename from 
   SvnClientTest#test_changelist_get_without_block and 
   SvnClientTest#test_changelist_get_with_block.  Use the renamed 
   assert_changelists and Svn::Client::Context#changelists
* subversion/bindings/swig/ruby/svn/client.rb 
  (Svn::Client::Context#changelists): Rename from 
   Svn::Client::Context#changelist, if passed a String the wrap it as a single
   element array.

r868956 | joeswatosh | 2008-01-14 00:07:57 +0000 (Mon, 14 Jan 2008)

Support the conflict_func arg in svn_wc_get_update_editor3 in the Ruby 

* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnWcTest#test_update_editor2_conflict_func): New test to show use of 
   conflict_func argument.

* subversion/bindings/swig/ruby/svn/wc.rb
  (Svn::Wc::AdmAccess#update2, Svn::Wc::AdmAccess#switch2): Add :conflict_func
   to the optional_arguments_defaults hash.
* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h
* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
  (svn_swig_rb_conflict_resolver_func): New function.

* subversion/bindings/swig/include/svn_types.swg
  (%typemap(in) (svn_wc_conflict_resolver_func_t conflict_func, void 
   *conflict_baton)): Implement Ruby typemap.

r869093 | joeswatosh | 2008-01-25 05:18:30 +0000 (Fri, 25 Jan 2008)

Follow on to r28902 "Merge all changes from the 'svn-update-new-depth' branch 
to trunk."  Add new 'depth_is_sticky' parameter to methods in the Ruby 
bindings affected by r28902.

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#update,Svn::Client::Context#switch): Add 
   depth_is_sticky argument
* subversion/bindings/swig/ruby/svn/wc.rb
  (Svn::Wc::AdmAccess#update_editor2,Svn::Wc::AdmAccess#update_editor2): Add
   :depth_is_sticky entry to the optional_arguments_defaults hash.

r869094 | joeswatosh | 2008-01-25 05:25:29 +0000 (Fri, 25 Jan 2008)

Follow on to r28915 "Make 'svn info' submit to the new handling of --
changelist." Add changelists parameter to Svn::Client::Context#info for the 
Ruby bindings. 

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#info): Add changelists parameter.

r869095 | joeswatosh | 2008-01-25 05:34:07 +0000 (Fri, 25 Jan 2008)

Follow on to r28933 "Rework the way 'svn diff' deals with changelists."  Add
changelists argument to diff methods in the Ruby bindings.

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#diff,Svn::Client::Context#diff_peg): Add changelists

* subversion/bindings/swig/ruby/svn/wc.rb
  (Svn::Wc::AdmAccess#diff_editor2): Add changelists argument.

r869098 | joeswatosh | 2008-01-25 05:54:28 +0000 (Fri, 25 Jan 2008)

Follow on to r28935 "... "restore" changelist support to 'svn diff --
summarize'." Add changelists parameter to diff summarize for Ruby bindings.

* subversion/bindings/swig/ruby/svn/client.rb
   Svn::Client::Context#diff_summarize_peg): Add changelists parameter.

r869099 | joeswatosh | 2008-01-25 06:00:34 +0000 (Fri, 25 Jan 2008)

Follow on to r28940 "More changes in changelist land, ...."  Change the test
expectations since the nil changelist now includes all the stuff not in other

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#assert_changelists): Update test expectations such that the
   "nil" changelist has everything not in other changelists.

r869100 | joeswatosh | 2008-01-25 06:36:25 +0000 (Fri, 25 Jan 2008)

Follow on to r28944 "Add --depth and --quiet support to 'svn changelist'."

* subversion/bindings/swig/ruby/svn/client.rb
   Svn::Client::Context#remove_from_changelist): Add changelists_names and
    depth parameters.
  (Svn::Client::Context#changelists): Improve how we figure out if we are
   getting one ore more changelist_names.

* subversion/bindings/swig/ruby/svn/wc.rb
  (Svn::Wc.set_changelist): Move method from here...
  (Svn::Wc::AdmAccess#set_changelist): here.

* subversion/bindings/swig/svn_wc.i
  (_svn_wc_set_changelist): Removed special handling.

* subversion/bindings/swig/svn_client.i
  (_svn_client_remove_from_changelist): Removed special handling.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#assert_changelists): Deal with changing APIs to
   Svn::Client::Context#add_to_changelist and

* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnWcTest#test_changelist): Deal with set_changelist move from a module
   method on Svn::Wc to an instance method on Svn::Wc::AdmAccess.

r869101 | joeswatosh | 2008-01-25 06:45:42 +0000 (Fri, 25 Jan 2008)

Follow on to r28951 "Finish the --changelist feature revamp for the propset, 
propget, proplist, and propdel subcommands."

* subversion/bindings/swig/ruby/svn/client.rb
   Svn::Client::Context#proplist): Add changelists_names argument.

r869102 | joeswatosh | 2008-01-25 06:50:53 +0000 (Fri, 25 Jan 2008)

Follow on to r28973 "Teach svn_client_status3() about changelists."

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#status): Add changelists_names argument.

r869103 | joeswatosh | 2008-01-25 06:58:51 +0000 (Fri, 25 Jan 2008)

Follow on to r28979 "Merge 'reintegrate' branch to trunk."

* subversion/bindings/swig/ruby/svn/ra.rb
  (Svn::Ra::Session#mergeinfo): Add include_descendants parameter.
* subversion/bindings/swig/ruby/svn/fs.rb
  (Svn::Fs::Transaction#mergeinfo): Add include_descendants parameter.

* subversion/bindings/swig/ruby/svn/repos.rb
  (Svn::Repos::ReposCore#mergeinfo): Add include_descendants parameter.

r869128 | joeswatosh | 2008-01-26 07:55:01 +0000 (Sat, 26 Jan 2008)

Follow on to r29036 "Purge (I think) the source code tree of sqlite stuffs."

* subversion/bindings/swig/ruby/test/windows_util.rb
  (SvnTestUtil::Windows::Svnserve#setup_svnserve): Remove sqlite3.dll 
    add_depended_dll_path_to_dll_wrapper_util): Remove bin/sqlite from the
    generated PATH environment variable.

r869335 | joeswatosh | 2008-02-10 16:37:05 +0000 (Sun, 10 Feb 2008)

Follow on to r29208 "Delete svn_client_propget3() and rename
svn_client_propget4() to svn_client_propget3()."  Updating the Ruby bindings.

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context#propget): Use propget3 instead of propget4.

r869387 | joeswatosh | 2008-02-13 05:39:19 +0000 (Wed, 13 Feb 2008)

Follow on to r29250 "Yet another node-origins-cache-for-FSFS implementation!"
Per glasser svn_fs_recover() "more or less" no longer supports cancel.  See:

* subversion/bindings/swig/ruby/test/test_repos.rb
  (SvnReposTest#test_recover): Remove assertions about cancellation during
* subversion/bindings/swig/ruby/test/test_fs.rb
  (SvnFsTest#assert_recover): Don't assert cancellation.

r869420 | joeswatosh | 2008-02-14 15:38:02 +0000 (Thu, 14 Feb 2008)

* STATUS: Nominate r29261 and r29313.

r869494 | joeswatosh | 2008-02-19 07:32:02 +0000 (Tue, 19 Feb 2008)

Follow up to r29374.  "Merge the mergeinfo-api-cleanup branch to trunk."

* subversion/bindings/swig/core.i
  (%apply apr_hash_t *MERGEINFO): Apply typemap to parameters named 
  (%apply apr_hash_t *MERGEINFO_HASH): Apply typemap to parameters named
* subversion/bindings/swig/svn_ra.i
  (%apply apr_hash_t *MERGEINFO_HASH): Removed.

* subversion/bindings/swig/svn_fs.i
* subversion/bindings/swig/svn_repos.i
  (%apply apr_hash_t *HASH_CSTRING): Removed.

* subversion/bindings/swig/ruby/test/test_repos.rb
* subversion/bindings/swig/ruby/test/test_fs.rb
  (SvnReposTest#test_mergeinfo): Expected result is now a mergeinfo instead of
   a string.

* subversion/bindings/swig/ruby/test/test_core.rb
  (SvnCoreTest#test_mergerange_equality): New test

* subversion/bindings/swig/ruby/svn/core.rb
  (Svn::Core::MergeRange#==): New method.
  (Svn::Core::MergeInfo#to_s): Use Core.mergeinfo_to_string() instead of
  (Svn::Core::RangeList#to_s): Use Core.rangelist_to_string() instead of

r869595 | joeswatosh | 2008-02-22 03:57:25 +0000 (Fri, 22 Feb 2008)

* STATUS: Nominate r29420.  Ruby bindings changes for mergeinfo-api-cleanup.

r869596 | joeswatosh | 2008-02-22 04:18:39 +0000 (Fri, 22 Feb 2008)

Probably should have been a follow on to r28731 "Teach 'svn commit' to handle 
multiple changelists" when the changelist argument was changed from const 
char*.  (Effectively reverts r24543).

* subversion/bindings/swig/svn_client.i
  (_svn_client_commit4): Removed special handling.

r869742 | joeswatosh | 2008-03-02 18:25:39 +0000 (Sun, 02 Mar 2008)

* STATUS: Nominate and vote for r29613.

r870189 | joeswatosh | 2008-03-29 19:01:47 +0000 (Sat, 29 Mar 2008)

STATUS: Nominate r29201 for backport.

r870520 | joeswatosh | 2008-04-09 04:41:07 +0000 (Wed, 09 Apr 2008)

* STATUS: Vote for r30444.

r870641 | joeswatosh | 2008-04-13 00:49:22 +0000 (Sun, 13 Apr 2008)

Follow up to r30544.  Fix segfault due to doubly clearing the error.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
  (svn_swig_rb_notify_func2): Don't svn_clear_error as the invoker of the 
   callback now handles this.

r870642 | joeswatosh | 2008-04-13 01:00:36 +0000 (Sun, 13 Apr 2008)

* STATUS: Nominate r30567

r870645 | joeswatosh | 2008-04-13 04:23:31 +0000 (Sun, 13 Apr 2008)

* STATUS: move r30567 to the approved section

r870646 | joeswatosh | 2008-04-13 04:34:49 +0000 (Sun, 13 Apr 2008)

Backport to the 1.5.x branch:

 * r30567
   Follows on to r30544.  Fixes segfault in the Ruby bindings when using
     +1: joeswatosh, kou

r871427 | joeswatosh | 2008-05-22 14:05:46 +0000 (Thu, 22 May 2008)

Follow on to r30745 "Fix bug when creating string representations of ranges 
X:Y where X > Y." by reordering the expected ranges

* subversion/bindings/swig/ruby/test/test_core.rb
  (SvnCoreTest#test_range_list_to_s): Reorder the expected ranges

r871429 | joeswatosh | 2008-05-22 14:17:01 +0000 (Thu, 22 May 2008)

Follow on to r31349 "Follow the current notify information behavior.
(Receive absolute path not relative path.)"

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#test_move,SvnClientTest#test_move_force): Adjust test 

r872642 | joeswatosh | 2008-08-20 00:34:49 +0000 (Wed, 20 Aug 2008)

Follow on to r31900 "Fix issue #3067, 'subtrees that don't exist at the start 
or end of a merge range shouldn't break the merge'"

Even though the merge in the test doesn't modify the file contents, after 
r31900 it does modify the svn:mergeinfo property.  So update the assertions to 
reflect that.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#assert_merge): Update assertions.

r872754 | joeswatosh | 2008-08-24 18:30:11 +0000 (Sun, 24 Aug 2008)

Include the port number in the name of the svnserve windows service so in the
future we'll be able to detect when another instance of the service is running
on a port (maybe testing a branch) and use a different port number.

* subversion/bindings/swig/ruby/test/windows_util.rb
  (SvnTestUtil::Windows::Svnserve::SERVICE_NAME): Removed constant
  (SvnTestUtil::Windows::Svnserve#service_name): Replacment for constant
  (SvnTestUtil::Windows::Svnserve#service_control): Use the service_name 
   method instead of the SERVICE_NAME constant.
  (SvnTestUtil::Windows::Svnserve#setup_svnserve): Use the last of the 
   @svnserve_ports instead of the first to avoid collisions with earlier
   versions that didn't include the port number in te service name.  Use the 
   service_name method instead of the SERVICE_NAME constant.

r872755 | joeswatosh | 2008-08-24 18:35:36 +0000 (Sun, 24 Aug 2008)

To quiet SWIG warning, ignore function svn_compat_wrap_file_rev_handler that 
is unused by Ruby bindings.

* subversion/bindings/swig/svn_delta.i
  %ignore svn_compat_wrap_file_rev_handler when generating Ruby bindings.

r872785 | joeswatosh | 2008-08-26 05:05:12 +0000 (Tue, 26 Aug 2008)

Improve compatibility with versions of Ruby before 1.8.5.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#assert_mkdir_with_multiple_paths, SvnClientTest#test_mkdir_p, 
   SvnClientTest#test_copy): Use instead of Kernel#Pathname.

r874061 | joeswatosh | 2008-11-01 02:46:17 +0000 (Sat, 01 Nov 2008)

Follow on to r32901: 'Merge the double-delete branch back to trunk, fixing 
issue #3156 "Delete should conflict with delete (at the repos level)" 

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.

r874062 | joeswatosh | 2008-11-01 02:55:38 +0000 (Sat, 01 Nov 2008)

Follow on to r33082: 'Merge the tree-conflicts branch back to trunk. This 
implements basic tree conflict detection for most cases.'

Since the directory in this test is now being detected as conflicted, just 
mark it resolved and move on.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#assert_merge): Mark the directory conflict resolved.

r874782 | joeswatosh | 2008-12-15 05:41:26 +0000 (Mon, 15 Dec 2008)

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
  ( 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.
   #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 throughout the tests.

* subversion/bindings/swig/ruby/test/test_ra.rb
  (SvnRaTest): Use the block versions of make_context and throughout the tests, plus some reorganization to
   move locals out of blocks.

r874783 | joeswatosh | 2008-12-15 06:05:45 +0000 (Mon, 15 Dec 2008)

Handle absolute as well as relative paths when reading the gen-make.opts to
create the forwarding files for testing the Ruby bindings on windows.

* subversion/bindings/swig/ruby/test/windows_util.rb
   #add_depended_dll_path_to_dll_wrapper_util): Use Pathname to figure out if
   the paths to libs listed in gen-make.opts are absolute or relative then
   make them relative.

r874784 | joeswatosh | 2008-12-15 06:09:00 +0000 (Mon, 15 Dec 2008)

Generate the correct files for the 'Debug' build_type.

* subversion/bindings/swig/ruby/test/windows_util.rb
   #add_depended_dll_path_to_dll_wrapper_util): Check for a BUILD_TYPE
   environment variable instead of hard coding to 'Release'.

r874824 | joeswatosh | 2008-12-17 05:59:04 +0000 (Wed, 17 Dec 2008)

Fix the default build type (should have been release).

* subversion/bindings/swig/ruby/test/windows_util.rb
  (SvnTestUtil::Windows::SetupEnvironment#setup_test_environment): Make the
   default build_type 'Release' instead of 'Debug'.

r874912 | hwright | 2008-12-19 14:33:36 +0000 (Fri, 19 Dec 2008)

* subversion/bindings/swig/ruby/test/test_wc.rb
  (test_relocate): Fix a ruby test expectation, as a result of r33786.

Reviewed by: joeswatosh

r874956 | joeswatosh | 2008-12-21 21:33:50 +0000 (Sun, 21 Dec 2008)

More follow on to r33730 which merged fs-rep-sharing branch.

* subversion/bindings/swig/ruby/test/test_repos.rb
  (SvnReposTest#test_hotcopy): Manage the lifetime of objects that might hold
   the repository open carefully, so that directories may be moved when
   running the test on Windows.

r874960 | julianfoad | 2008-12-22 17:37:57 +0000 (Mon, 22 Dec 2008)

Fix a bug introduced in the deprecated svn_wc_conflicted_p() in r33938.

Found by: Joe Swatosh <>

* subversion/libsvn_wc/questions.c
  (svn_wc_conflicted_p): Initialize the outputs.

r874978 | joeswatosh | 2008-12-23 21:40:31 +0000 (Tue, 23 Dec 2008)

Follows on to r33860.  Use the greatest precision possible when looking at a
revision as a date.  This fixes intermittent test failures on Windows.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c
  (svn_swig_rb_set_revision): Use to_f and apr_time_make instead of to_i and
   apr_time_from_sec to calculate the date revision.

r874979 | joeswatosh | 2008-12-23 21:42:40 +0000 (Tue, 23 Dec 2008)

More follow on to r33730, the merge to use SQLite.  Combined with r34502 shows
more pool life time issues in the bindings tests.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#test_username_provider): Use only the revision from the
   make_context block as it is just an Integer instead of an Info that will be
   cleaned up in the block.  Also use the (now prefered) block form of

r875101 | joeswatosh | 2009-01-05 07:08:06 +0000 (Mon, 05 Jan 2009)

Update Svn::Client::Context to include resolve method.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest::assert_resolve, SvnClientTest::test_resolve_base,
   SvnClientTest::test_resolve_merged): New methods.

* subversion/bindings/swig/ruby/svn/client.rb
  (Svn::Client::Context.resolve): New method.

r875102 | joeswatosh | 2009-01-05 07:09:09 +0000 (Mon, 05 Jan 2009)

Before the fifth commit in SvnClientTest::assert_merge, use revert and resolve
to put the wc in the state it was in before tree conflict handling was merged
in.  Not sure if this is really the "right" solution, but it allows the
subsequent assertions to pass, too.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest::assert_merge): Before the fifth merge, revert the prop
   changes on trunk, and resolve the trunk file to use the local mods.

r876132 | rhuijben | 2009-02-22 22:46:01 +0000 (Sun, 22 Feb 2009)

  (Prerequisites): Update information on building with Visual C++ 2008, Apr
    1.X and remove notes on targetting Windows '9X/NT as those operating
    system version are no longer supported.
Suggested by: joeswatosh

r876175 | joeswatosh | 2009-02-24 19:54:20 +0000 (Tue, 24 Feb 2009)

Allow use of APR 1.x when testing Ruby bindings on Windows.

* subversion/bindings/swig/ruby/test/windows_util.rb
  (SvnTestUtil::Windows::Svnserve#setup_svnserve): Use gen_make_opts to figure
   out what the major version of APR is being used, and add it as appropriate
   to the apr dll names to copy for the test svnserve.  Don't raise if we
   can't find sqlite or apriconv dlls to copy (they may not be required).

  (SvnTestUtil::Windows::SetupEnvironment#setup_test_environment): Remember
   what top_dir is passed in, so we can use it to find gen_make.opts.

  (SvnTestUtil::Windows::SetupEnvironment#gen_make_opts): New method to parse
   gen_make.opts, returning a hash with defaults.

   add_depended_dll_path_to_dll_wrapper _util): Use the new gen_make_opts
   instead of parsing inline.  Let gen_make_opts handle the defaulting.

r876245 | joeswatosh | 2009-02-27 06:05:28 +0000 (Fri, 27 Feb 2009)

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

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

r876565 | joeswatosh | 2009-03-11 20:50:10 +0000 (Wed, 11 Mar 2009)

  (joeswatosh): Move myself to the inactive section.

r877866 | joeswatosh | 2009-05-22 06:10:21 +0000 (Fri, 22 May 2009)

Just can't stay away

* COMMITTERS (joeswatosh): revert r36491 make myself active again.

r877989 | joeswatosh | 2009-06-03 05:59:26 +0000 (Wed, 03 Jun 2009)

Make parse-diff.c compile with VC6 by including limits.h for ULONG_MAX.

* subversion/libsvn_diff/parse-diff.c
 add include for limits.h to make sure ULONG_MAX defined

Approved by: brane

r879249 | joeswatosh | 2009-09-07 22:18:43 +0000 (Mon, 07 Sep 2009)

Use the block form of SvnTestUtil#make_context to make sure the working 
copy db is closed before the cleanup tries to delete the working copy.

* subversion/bindings/swig/ruby/test/util.rb
  (SvnTestUtil#setup_wc, SvnTestUtil#setup_greek_tree): Use the block form of

r879251 | joeswatosh | 2009-09-07 22:41:55 +0000 (Mon, 07 Sep 2009)

Update the Ruby bindings test expectations about change lists containing 
absolute paths.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#assert_changelists): Expect absolute paths from changelists.

* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnWcTest#test_changelist): Expect absolute paths when being notified 
of change list updates.

r879270 | hwright | 2009-09-08 20:54:35 +0000 (Tue, 08 Sep 2009)

* subversion/libsvn_wc/node.c
  (svn_wc__node_get_changelist): Followup to r39115: fetch the right parameter
    from svn_wc__db_read_info().

Found by: joeswatosh

r879327 | joeswatosh | 2009-09-12 05:06:56 +0000 (Sat, 12 Sep 2009)

Make certain that all the pools that might be holding the wc.db file open 
are closed, as open files cannot be deleted on windows leading to 
cascading bindings test failures.

* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnWcTest#test_adm_access): Close access when using non-block form of 

r879425 | joeswatosh | 2009-09-16 05:49:43 +0000 (Wed, 16 Sep 2009)

Attempt to fix the bindings buildbot by not defining 
Svn::Authenticatable#add_windows_simple_provider for non-windows platforms.

* subversion/bindings/swig/ruby/test/util.rb
  ( Move from here to and fix 
* subversion/bindings/swig/ruby/svn/util.rb
  ( From SvnTestUtil to here.
* subversion/bindings/swig/ruby/svn/core.rb
  (Svn::Authenticatable#add_windows_simple_provider): Use
   to determine whether or not to define 

r879426 | joeswatosh | 2009-09-16 06:07:32 +0000 (Wed, 16 Sep 2009)

Fix Ruby binding test so that it doesn't leave an unclosed handle to the 
wc.db file that can't be deleted during TestCase#cleanup on windows and 
fouls up the setup of the next test.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#test_cleanup): Don't create an Svn::Wc::AdmAcess instance 
   that can't be destroyed and doesn't affect the test outcome.

r879427 | joeswatosh | 2009-09-16 06:15:33 +0000 (Wed, 16 Sep 2009)

Fix misunderstanding of relative path when getting an update or switch 
editor from the Svn::Wc::AdmAccess.  Formerly, these worked with either a 
path relative to the current directory OR the working copy.  Now they work 
as documented and must be relative to the working copy.

* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnWcTest#test_update_editor, SvnWcTest#test_update_editor_options, 
   SvnWcTest#test_switch_editor): Update calls to 
   Svn::Wc::AdmAccess#update_editor, Svn::Wc::AdmAccess#update_editor2 and
   Svn::Wc::AdmAccess#switch_editor to pass in a working copy relative path 
   instead of a current directory relative path.

r879890 | joeswatosh | 2009-10-07 03:35:48 +0000 (Wed, 07 Oct 2009)

Follow on to r39678 "Make the handling of conflicts and skipping
consistent in the update editor."  This commit doesn't allow test working 
copies inside subversion working copies checked-out with 1.6 era clients.  
While that issue was fixed in r39689, I was still experiencing the problem 
when running the bindings tests.  Plus the tempdir feels like a better 
place for this anyway.

* subversion/bindings/swig/ruby/test/util.rb
  require "tmpdir"
  (SvnTestUtil#setup_default_variables): Move @wc_base to the temporary
   directory instead of inside the subversion working copy.

r880154 | joeswatosh | 2009-10-16 19:30:56 +0000 (Fri, 16 Oct 2009)

Try to get the buildbot for the bindings past the segfault in the ruby 
tests so the error and failure messages are reported.

* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnTestWc#test_adm_ensure): Flunk the test before the segfault.

r880162 | joeswatosh | 2009-10-17 00:39:14 +0000 (Sat, 17 Oct 2009)

Update the assertion to reflect the change in r39219 that causes 	
svn_io_detect_mimetype2 to always check the extension before trying to 
read the the file.

* subversion/bindings/swig/ruby/test/test_core.rb
  (SvnTestCore#test_mime_type_detect_with_type_map): Update assertion

r880163 | joeswatosh | 2009-10-17 01:09:48 +0000 (Sat, 17 Oct 2009)

On the '1.6.x' branch:

* STATUS: Nominate r40088.

r880166 | rhuijben | 2009-10-17 15:41:02 +0000 (Sat, 17 Oct 2009)

Revert the behavior of svn_wc_resolved_conflictX() for depth unknown
back to the 1.6 behavior of infinity that originated from using

* subversion/libsvn_wc/conflicts.c
     Translate depth unknown to depth infinity.

* subversion/libsvn_subr/dirent_uri.c
* subversion/tests/libsvn_subr/dirent_uri-tests.c
  [[ Accidental commit of uri behavior change work. Reverted in r40093 ]]

Found by: joeswatosh

r880168 | joeswatosh | 2009-10-17 16:11:19 +0000 (Sat, 17 Oct 2009)

Fix typo for depth argument that was interpreted as depth-unknown.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#assert_resolve): Fix typo infinite to infinity.

r880174 | joeswatosh | 2009-10-19 03:12:22 +0000 (Mon, 19 Oct 2009)

Prefer the block form of methods that access the repository or working 
copy directly to ensure that all handles will be closed by the time the 
TestCase#teardown is invoked.  This should help prevent one test from 
interfering with the next.

* subversion/bindings/swig/ruby/test/test_repos.rb
  (SvnReposTest#assert_commit_editor): Use the block form of 
  (SvnReposTest#test_load): Use the block form of Svn::Repos.create.

r880175 | joeswatosh | 2009-10-19 03:26:04 +0000 (Mon, 19 Oct 2009)

Give up trying to track how many times and with what values the validator 
is going to be called by svn_wc_relocate3, only assert that it is invoked.

* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnTestWc#test_relocate): Remove the assertion about the exact values that
   are passed to the relocation validator, only assert that the validator 
   been invoked.

r880218 | joeswatosh | 2009-10-21 04:30:29 +0000 (Wed, 21 Oct 2009)

Apparently, wc-old allowed deleting the administrative data, but wc-ng 
does not.  C'est la vie.  So we don't try to reuse the working copy over 
and over again by deleting it and checking out on top, just create new 
working copies in new directories.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#check_out): Use different target directories for
   checkout, ensure all the working copies get deleted.

r880225 | joeswatosh | 2009-10-21 15:16:29 +0000 (Wed, 21 Oct 2009)

Partially revert r37331 "On Windows, shared libs for Python bindings 
should be *.pyd not *.dll."  In addition to changing the shared libs for 
the Python bindings, r37331 inadvertently changed the extensions of the 
shared libraries produced for the Perl and Ruby bindings from .dll to 
.pyd.  Change the extensions back to .dll for the Ruby and Perl bindings.

* build/generator/ (TargetSWIG.add_dependencies): Mark Python
 wrapper shared libs as type "pyd" not "lib".

Approved by: djames

r880242 | joeswatosh | 2009-10-22 05:38:28 +0000 (Thu, 22 Oct 2009)

Don't pass nulls to svn_wc_ensure_admin4.

* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnTestWc#test_adm_ensure): Pass non-nils to Svn::Wc.ensure_admin so 
   non-nulls are passed to svn_wc_ensure_admin4 for path and uuid arguments.

r888708 | joeswatosh | 2009-12-09 06:08:21 +0000 (Wed, 09 Dec 2009)

Take particular care managing the files created during tests.  While the pool
clean up will delete the files as it should, there can be timing problems on

Also on Windows, if the file is open, it cannot be deleted.  So wait and try
again a few times to give garbage collection (or the svnserve process) more
chances to let it go.

Finally, Svn::Repos.delete was failing intermittently, so replace the call 
to it when cleaning up tests with just removing the directory.

* subversion/bindings/swig/ruby/test/util.rb
  (SvnTestUtil#setup_tmp, SvnTestUtil#teardown_tmp,
   SvnTestUtil#setup_repository, SvnTestUtil#teardown_wc,
   SvnTestUtil#teardown_config): Replace call to File.rm_rf with
  (SvnTestUtil#teardown_repository): Replace call to Svn::Repos.delete with
  (SvnTestUtil#remove_recursively_with_retry): New method

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#test_checkout): Replace call to File.rm_rf with

* subversion/bindings/swig/ruby/test/test_fs.rb
  (SvnFsTest#assert_recover): Pass an empty Proc to the yield that creates 
   the file system.  There is currently no way to clean up the pool that is 
   used if there is no block passed to Svn::Fs.create.

* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnWcTest#test_translated_file2_eol): Make sure a file passed to the block
   for assert_translated_eol is closed.
  (SvnWcTest#test_translated_stream_keyword): Make sure a stream passed to 
   the block for assert_translated_keyword is closed.

r888713 | joeswatosh | 2009-12-09 06:53:22 +0000 (Wed, 09 Dec 2009)

Follow on to r886924: "Fix issue #3180 'svn mergeinfo ignores peg rev for 
WC target'."  Update the expectations about mergeinfo.

* subversion/bindings/swig/ruby/test/test_client.rb
  (SvnClientTest#assert_merge): Update mergeinfo expectations.

r888715 | joeswatosh | 2009-12-09 07:04:07 +0000 (Wed, 09 Dec 2009)

SQLite as a dll dependency is long gone.  Remove it from the Windows 
bindings tests for Ruby.

* subversion/bindings/swig/ruby/test/windows_util.rb
  (SvnTestUtil::Windows::Svnserve#setup_svnserve):  Don't attempt to copy 
   SQLite.dll for use the the svnserve created to test the Svn::Client

   wrapper_util): Don't add a path to SQLite.dll in the generated wrappers 
   for requiring Svn modules.

r894470 | joeswatosh | 2009-12-29 19:49:18 +0000 (Tue, 29 Dec 2009)

* STATUS: Nominate and vote for r876175

r895514 | joeswatosh | 2010-01-04 00:20:40 +0000 (Mon, 04 Jan 2010)

Make the list of dependencies more explicit by including sasl and libintl.

* subversion/bindings/swig/ruby/test/windows_util.rb
   Explicitly add the directories of the sasl and libintl libraries to 
   the PATH for testing.

r897479 | joeswatosh | 2010-01-09 15:59:11 +0000 (Sat, 09 Jan 2010)

* STATUS: Vote for r896522.

r897491 | joeswatosh | 2010-01-09 16:24:31 +0000 (Sat, 09 Jan 2010)

* STATUS: Nominate r888715 and r895514

r897492 | joeswatosh | 2010-01-09 16:25:10 +0000 (Sat, 09 Jan 2010)

* STATUS: Nominate r888715 and r895514  (what I meant to say last time)

r897590 | joeswatosh | 2010-01-10 05:27:40 +0000 (Sun, 10 Jan 2010)

Fix Ruby bindings test crash.

* subversion/bindings/swig/ruby/test/test_info.rb
 (test_info, test_dirs_changed): don't use context info,
  commit_info, returned by context outside of make_context block.

patch by: kou

r905174 | joeswatosh | 2010-02-01 04:53:09 +0000 (Mon, 01 Feb 2010)

Remove Ruby 1.9 compatibility code that is never used.

* subversion/bindings/swig/ruby/svn/util.rb
  (Kernel:__send!): Remove.

r905175 | joeswatosh | 2010-02-01 05:02:55 +0000 (Mon, 01 Feb 2010)

Start hiding some implementation details from rdoc.

* bindings/swig/ruby/svn/core.rb
  (Time::MILLION): nodoc.

* bindings/swig/ruby/svn/info.rb
  (Uconv): nodoc

* bindings/swig/ruby/svn/util.rb
  (Svn::Util): nodoc

r905949 | stsp | 2010-02-03 09:18:03 +0000 (Wed, 03 Feb 2010)

* subversion/svnserve/main.c
  (main): The 'flags' parameter for apr_sockaddr_info_get() should
   be apr_int32_t, not u_int32_t.

Found by: joeswatosh

r906059 | gstein | 2010-02-03 14:18:34 +0000 (Wed, 03 Feb 2010)

Follow-up to r905787:

* build/generator/
  (WinGeneratorBase._create_sqlite_headers): Track parameter list change
    for transform_sql.main().

Patch by: joeswatosh

r910298 | joeswatosh | 2010-02-15 18:51:12 +0000 (Mon, 15 Feb 2010)

First baby-step toward supporting WC-NG APIs in the Ruby Bindings: Provide a
way to create a Context object.

* subversion/bindings/swig/ruby/test/test_wc.rb
   SvnWcTest#test_context_create): New methods.

* subversion/bindings/swig/ruby/svn/wc.rb
  (Svn::Wc::Context): New class.
   Svn::Wc::Context#destroy): New methods.

* subversion/bindings/swig/include/svn_types.swg
  (OUTPARAM): add svn_wc_context_t for Ruby so it will be wrapped correctly.
  (%apply apr_pool_t *pool): add *scratch_pool to the list of known names for
   pools for Ruby bindings so it will be wrapped correctly.

r925709 | joeswatosh | 2010-03-21 01:12:30 +0000 (Sun, 21 Mar 2010)

Follow on to r921445 "Remove some access batons from post-commit processing"
which exposed the brokenness of the tests.

* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnWcTest#test_ancestry): Remove incorrectly setup assertions around
   mark_missing_deleted which wraps svn_wc_mark_missing_deleted which is now
   deprecated, under-documented and usable in only very narrow and specific

r925713 | joeswatosh | 2010-03-21 01:39:10 +0000 (Sun, 21 Mar 2010)

Follow on to r924760 which removed svn_diff_private.h.  

* build.conf: Remove svn_diff_private.h as a source of exported functions 
   in the windows build.

Approved by: stsp

r927688 | joeswatosh | 2010-03-26 04:47:10 +0000 (Fri, 26 Mar 2010)

Follow on to r924201 'Tighten merge-range validation to not allow "change 
number r0" aka "revision range -1:Y".'  Which also started validating ranges.

Update the ranges created for testing to be valid.  Since some inputs 
changed, some expectations changed too.

* subversion/bindings/swig/ruby/test/test_core.rb
  (SvnCoreTest#test_range_list_diff, SvnCoreTest#test_range_list_merge,
   SvnCoreTest#test_range_list_remove, SvnCoreTest#test_range_list_intersect,
   SvnCoreTest#test_range_list_reverse, SvnCoreTest#test_range_list_to_s): 
   Make the input ranges valid and update expectations for the new inputs.

r932942 | joeswatosh | 2010-04-11 17:29:33 +0000 (Sun, 11 Apr 2010)

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.

r980672 | rhuijben | 2010-07-30 08:13:15 +0000 (Fri, 30 Jul 2010)

Add regression test on the 'Pristine text not found' issue currently only
triggered by the ruby tests. This test is based on a reproduction script

Found by: joeswatosh

* subversion/tests/cmdline/
  (delete_and_add_same_file): New function
  (test_list): Add delete_and_add_same_file as XFail.

r981729 | joeswatosh | 2010-08-03 03:00:54 +0000 (Tue, 03 Aug 2010)

Rearrange code for clarity.

 * subversion/bindings/swig/ruby/test/test_info.rb
    (SvnInfoTest#test_changed): Move the modifications of file1, 2, and 3
      from the first make_context block to the second where we actually check
      for the files to have changed.

r1035159 | joeswatosh | 2010-11-15 07:07:51 +0000 (Mon, 15 Nov 2010)

* STATUS: Vote for r1034557

r1068863 | rhuijben | 2011-02-09 12:32:57 +0000 (Wed, 09 Feb 2011)

Following up on r1034362, fix generating the Visual C++ 6.0 style project
and workspace files. Visual C++ 6.0 is no longer supported by Microsoft,
but is still the default compiler used for Windows support by the Apr and
Httpd projects.

* build/generator/
  (write_project): Take template from the right folder.
  (write): Fetch sql header dependencies.
Found by: joeswatosh

r1069335 | rhuijben | 2011-02-10 10:51:41 +0000 (Thu, 10 Feb 2011)

* build/generator/templates/svn_config.dsp.ezt
  Fix references to svn_private_config.hw/svn_private_config.h.

Found by: joeswatosh

r1302524 | hwright | 2012-03-19 16:09:01 +0000 (Mon, 19 Mar 2012)

Fix the swig-rb test failure by loosening a couple of implementation dependent

Patch by: joeswatosh

* subversion/bindings/swig/ruby/test/test_info.rb
  (test_diff): Remove a couple of property expectations.

[Reverted in r1303856.]

r1310535 | joeswatosh | 2012-04-06 18:28:30 +0000 (Fri, 06 Apr 2012)

Since the change to the APR hash function, the order that some data are returned
from some APIs are no longer determinate. Sort the data before comparing to get
the buildbots passing again.

* subversion/bindings/swig/ruby/test/test_client.rb
   SvnClientTest#test_changelists_get_without_block): Sort the contents of the 
   changelists returned by the block passed to assert_changelists, so they will
   match the expectations.

r1310594 | joeswatosh | 2012-04-06 21:15:48 +0000 (Fri, 06 Apr 2012)

Since the change to the APR hash function, the order that some data are returned
from some APIs are no longer determinate. Sort the data before comparing to get
the buildbots passing again.

* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnWcTest#assert_diff_callbacks): Sort the results of the diff API call as 
   the contents are what is important, not the order.

r1311547 | joeswatosh | 2012-04-10 01:17:50 +0000 (Tue, 10 Apr 2012)

Nominate r1310535 and r1310594.

r1327373 | joeswatosh | 2012-04-18 04:52:34 +0000 (Wed, 18 Apr 2012)

Since the change to the APR hash function, the order that some data are returned
from some APIs are no longer determinate. Sort the data before comparing to get
the buildbots passing again.

* subversion/bindings/swig/ruby/test/test_wc.rb
  (SvnWcTest#test_ancestry): Sort the ignored_errors before comparing to the

r1461030 | stefan2 | 2013-03-26 09:20:52 +0000 (Tue, 26 Mar 2013)

Use apr macros to make code more portable.

 * subversion/libsvn_subr/cache-membuffer.c
    (macros): use APR_UINT64_C instead of ull suffix to define

Patch by: joeswatosh

r1461395 | joeswatosh | 2013-03-27 03:06:29 +0000 (Wed, 27 Mar 2013)

Follow up to r1354410 which dropped the JavaHL targets in the absense of a jdk.
It appears to contain an copy-paste-o that also removes the swig targets in
the absense of a jdk.

 * build/generator/
   (get_install_targets): Drop the line the removes the swig targets when there
    is no jdk.

Approved by: danielsh

r1461920 | joeswatosh | 2013-03-28 01:57:09 +0000 (Thu, 28 Mar 2013)

For those of us with somewhat deficient compilers that don't provide ULONG_MAX
unless <limits.h> is explicitly included.

 * subversion/include/svn_types.h
   (includes): Add include of limits.h
Approved by: stsp

r1490221 | stefan2 | 2013-06-06 10:01:20 +0000 (Thu, 06 Jun 2013)

Small compatibility improvement. No functional change.

* subversion/libsvn_subr/cache-membuffer.c
   combine_key): use APR_UINT64_C() instead of ull suffix

Patch by: joeswatosh