Checkout Tools
  • last updated 3 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Fix compiling the ruby bindings on Visual Studio 2015+

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb__pre_ruby.h

(HAVE_STRUCT_TIMESPEC): Declare, to avoid duplicate definition.

Pre branch cleanup: Remove unneeded tab characters from source files.

* subversion/bindings/javahl/src/org/apache/subversion/javahl/ISVNRepos.java

* subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java

* subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c

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

* subversion/libsvn_subr/sorts.c

Replace tabs with spaces, trying to fix indenting.

  1. … 6 more files in changeset.
Apply the standard pre-branch whitespace cleanup via

tools/dev/remove-trailing-whitespace.zsh

There should be no functional changes.

* .ycm_extra_conf.py

* build/generator/gen_win.py

* build/generator/gen_win_dependencies.py

* subversion/bindings/javahl/native/EditorProxy.h

* subversion/bindings/javahl/native/StateReporter.cpp

* subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigImpl_Category.cpp

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c

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

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

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

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

* subversion/include/private/svn_fs_fs_private.h

* subversion/include/private/svn_packed_data.h

* subversion/include/private/svn_repos_private.h

* subversion/include/private/svn_sorts_private.h

* subversion/include/private/svn_subr_private.h

* subversion/include/private/svn_wc_private.h

* subversion/include/svn_auth.h

* subversion/include/svn_cache_config.h

* subversion/include/svn_client.h

* subversion/include/svn_cmdline.h

* subversion/include/svn_diff.h

* subversion/include/svn_fs.h

* subversion/include/svn_io.h

* subversion/include/svn_ra.h

* subversion/include/svn_repos.h

* subversion/include/svn_string.h

* subversion/libsvn_client/blame.c

* subversion/libsvn_client/commit.c

* subversion/libsvn_client/commit_util.c

* subversion/libsvn_client/copy.c

* subversion/libsvn_client/diff.c

* subversion/libsvn_client/externals.c

* subversion/libsvn_client/log.c

* subversion/libsvn_client/patch.c

* subversion/libsvn_client/ra.c

* subversion/libsvn_client/update.c

* subversion/libsvn_delta/svndiff.c

* subversion/libsvn_diff/parse-diff.c

* subversion/libsvn_fs/fs-loader.c

* subversion/libsvn_fs_base/lock.c

* subversion/libsvn_fs_fs/cached_data.c

* subversion/libsvn_fs_fs/fs_fs.c

* subversion/libsvn_fs_fs/hotcopy.c

* subversion/libsvn_fs_fs/id.c

* subversion/libsvn_fs_fs/index.c

* subversion/libsvn_fs_fs/index.h

* subversion/libsvn_fs_fs/lock.c

* subversion/libsvn_fs_fs/low_level.c

* subversion/libsvn_fs_fs/low_level.h

* subversion/libsvn_fs_fs/pack.c

* subversion/libsvn_fs_fs/recovery.c

* subversion/libsvn_fs_fs/rev_file.c

* subversion/libsvn_fs_fs/revprops.c

* subversion/libsvn_fs_fs/revprops.h

* subversion/libsvn_fs_fs/stats.c

* subversion/libsvn_fs_fs/transaction.c

* subversion/libsvn_fs_fs/tree.c

* subversion/libsvn_fs_fs/verify.c

* subversion/libsvn_fs_x/cached_data.c

* subversion/libsvn_fs_x/changes.c

* subversion/libsvn_fs_x/dag.h

* subversion/libsvn_fs_x/fs.h

* subversion/libsvn_fs_x/fs_id.c

* subversion/libsvn_fs_x/fs_x.c

* subversion/libsvn_fs_x/hotcopy.c

* subversion/libsvn_fs_x/hotcopy.h

* subversion/libsvn_fs_x/index.c

* subversion/libsvn_fs_x/index.h

* subversion/libsvn_fs_x/lock.c

* subversion/libsvn_fs_x/lock.h

* subversion/libsvn_fs_x/low_level.c

* subversion/libsvn_fs_x/low_level.h

* subversion/libsvn_fs_x/noderevs.c

* subversion/libsvn_fs_x/pack.c

* subversion/libsvn_fs_x/reps.c

* subversion/libsvn_fs_x/rev_file.c

* subversion/libsvn_fs_x/revprops.c

* subversion/libsvn_fs_x/revprops.h

* subversion/libsvn_fs_x/string_table.c

* subversion/libsvn_fs_x/string_table.h

* subversion/libsvn_fs_x/transaction.c

* subversion/libsvn_fs_x/tree.c

* subversion/libsvn_fs_x/util.c

* subversion/libsvn_fs_x/verify.c

* subversion/libsvn_ra_local/ra_plugin.c

* subversion/libsvn_ra_serf/ra_serf.h

* subversion/libsvn_ra_serf/serf.c

* subversion/libsvn_ra_serf/update.c

* subversion/libsvn_ra_serf/util.c

* subversion/libsvn_ra_svn/client.c

* subversion/libsvn_ra_svn/marshal.c

* subversion/libsvn_repos/authz_pool.c

* subversion/libsvn_repos/config_pool.c

* subversion/libsvn_repos/dump.c

* subversion/libsvn_repos/fs-wrap.c

* subversion/libsvn_repos/log.c

* subversion/libsvn_subr/bit_array.c

* subversion/libsvn_subr/cache-membuffer.c

* subversion/libsvn_subr/config.c

* subversion/libsvn_subr/dirent_uri.c

* subversion/libsvn_subr/fnv1a.c

* subversion/libsvn_subr/gpg_agent.c

* subversion/libsvn_subr/hash.c

* subversion/libsvn_subr/io.c

* subversion/libsvn_subr/object_pool.c

* subversion/libsvn_subr/packed_data.c

* subversion/libsvn_subr/prefix_string.c

* subversion/libsvn_subr/sorts.c

* subversion/libsvn_subr/sqlite.c

* subversion/libsvn_subr/subst.c

* subversion/libsvn_subr/sysinfo.c

* subversion/libsvn_subr/types.c

* subversion/libsvn_subr/utf.c

* subversion/libsvn_subr/utf8proc/utf8proc_data.c

* subversion/libsvn_subr/x509info.c

* subversion/libsvn_wc/diff.h

* subversion/libsvn_wc/props.c

* subversion/libsvn_wc/update_editor.c

* subversion/libsvn_wc/wc.h

* subversion/libsvn_wc/wc_db.c

* subversion/libsvn_wc/wc_db.h

* subversion/mod_dav_svn/lock.c

* subversion/mod_dav_svn/mod_dav_svn.c

* subversion/mod_dav_svn/status.c

* subversion/svn/auth-cmd.c

* subversion/svn/info-cmd.c

* subversion/svn/mergeinfo-cmd.c

* subversion/svn/notify.c

* subversion/svn/propget-cmd.c

* subversion/svn/svn.c

* subversion/svnadmin/svnadmin.c

* subversion/svnserve/logger.c

* subversion/svnserve/serve.c

* subversion/svnserve/server.h

* subversion/svnserve/svnserve.c

* subversion/tests/cmdline/blame_tests.py

* subversion/tests/cmdline/checkout_tests.py

* subversion/tests/cmdline/commit_tests.py

* subversion/tests/cmdline/export_tests.py

* subversion/tests/cmdline/externals_tests.py

* subversion/tests/cmdline/lock_tests.py

* subversion/tests/cmdline/merge_tests.py

* subversion/tests/cmdline/merge_tree_conflict_tests.py

* subversion/tests/cmdline/move_tests.py

* subversion/tests/cmdline/redirect_tests.py

* subversion/tests/cmdline/stat_tests.py

* subversion/tests/cmdline/svnadmin_tests.py

* subversion/tests/cmdline/switch_tests.py

* subversion/tests/cmdline/update_tests.py

* subversion/tests/libsvn_client/client-test.c

* subversion/tests/libsvn_client/mtcc-test.c

* subversion/tests/libsvn_fs/fs-test.c

* subversion/tests/libsvn_fs/locks-test.c

* subversion/tests/libsvn_fs_fs/fs-fs-fuzzy-test.c

* subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c

* subversion/tests/libsvn_fs_x/fs-x-pack-test.c

* subversion/tests/libsvn_fs_x/string-table-test.c

* subversion/tests/libsvn_ra/ra-test.c

* subversion/tests/libsvn_subr/cache-test.c

* subversion/tests/libsvn_subr/checksum-test.c

* subversion/tests/libsvn_subr/config-test.c

* subversion/tests/libsvn_subr/io-test.c

* subversion/tests/libsvn_subr/packed-data-test.c

* subversion/tests/libsvn_subr/priority-queue-test.c

* subversion/tests/libsvn_subr/sqlite-test.c

* subversion/tests/libsvn_subr/string-test.c

* subversion/tests/libsvn_subr/subst_translate-test.c

* subversion/tests/libsvn_subr/x509-test.c

* subversion/tests/libsvn_wc/op-depth-test.c

* subversion/tests/svn_test_main.c

* tools/dev/benchmarks/RepoPerf/copy_repo.py

* tools/dev/benchmarks/RepoPerf/win_repo_bench.py

* tools/dev/build-svn-deps-win.pl

* tools/dev/fsfs-access-map.c

* tools/dev/po-merge.py

* tools/dev/x509-parser.c

* tools/diff/diff.c

* tools/dist/backport.pl

* tools/dist/backport_tests.py

* tools/hook-scripts/mailer/mailer.py

* tools/server-side/svnpubsub/daemonize.py

* win-tests.py

Remove unneeded whitespace via script.

  1. … 184 more files in changeset.
Fix a memory lifetime bug in the ruby bindings.

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

(svn_swig_rb_log_entry_receiver): Make a deep copy of the received log

entry since it might be freed before all collected entries are processed.

The ruby bindings tests were crashing while processing log entries

obtained from a call to svn_client_mergeinfo_log_merged().

Found by the bb-openbsd buildbot with APR pool debugging enabled.

Program received signal SIGBUS, Bus error.

0x000003f32550ff97 in apr_hash_first (p=0x0, ht=0x4141414141414141)

at /home/stsp/svn/src/apr-1.5.0/tables/apr_hash.c:148

148 hi->ht = ht;

#3 0x000003f32dabe865 in svn_swig_rb_apr_hash_to_hash_swig_type (

hash=0x4141414141414141,

type_name=0x3f32067ec0b "svn_log_changed_path_t *")

at subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c:1480

Revert r1508225, which moved the include of svn_private_config.h before all

includes of our public headers. Public headers shouldn't depend on private

headers and all changes that required this are long reverted on trunk.

This patch excludes all conflicting cases.

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c

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

* subversion/libsvn_auth_gnome_keyring/gnome_keyring.c

* subversion/libsvn_client/add.c

* subversion/libsvn_client/cat.c

* subversion/libsvn_client/changelist.c

* subversion/libsvn_client/cleanup.c

* subversion/libsvn_client/commit.c

* subversion/libsvn_client/commit_util.c

* subversion/libsvn_client/copy.c

* subversion/libsvn_client/copy_foreign.c

* subversion/libsvn_client/ctx.c

* subversion/libsvn_client/delete.c

* subversion/libsvn_client/deprecated.c

* subversion/libsvn_client/diff.c

* subversion/libsvn_client/diff_local.c

* subversion/libsvn_client/diff_summarize.c

* subversion/libsvn_client/export.c

* subversion/libsvn_client/externals.c

* subversion/libsvn_client/import.c

* subversion/libsvn_client/info.c

* subversion/libsvn_client/iprops.c

* subversion/libsvn_client/list.c

* subversion/libsvn_client/locking_commands.c

* subversion/libsvn_client/log.c

* subversion/libsvn_client/merge.c

* subversion/libsvn_client/mergeinfo.c

* subversion/libsvn_client/patch.c

* subversion/libsvn_client/prop_commands.c

* subversion/libsvn_client/ra.c

* subversion/libsvn_client/repos_diff.c

* subversion/libsvn_client/resolved.c

* subversion/libsvn_client/revert.c

* subversion/libsvn_client/switch.c

* subversion/libsvn_client/update.c

* subversion/libsvn_client/util.c

* subversion/libsvn_delta/compat.c

* subversion/libsvn_delta/xdelta.c

* subversion/libsvn_diff/parse-diff.c

* subversion/libsvn_diff/util.c

* subversion/libsvn_fs/access.c

* subversion/libsvn_fs_base/bdb/changes-table.c

* subversion/libsvn_fs_base/bdb/env.c

* subversion/libsvn_fs_base/dag.c

* subversion/libsvn_fs_base/fs.c

* subversion/libsvn_fs_base/lock.c

* subversion/libsvn_fs_base/revs-txns.c

* subversion/libsvn_fs_base/tree.c

* subversion/libsvn_fs_fs/caching.c

* subversion/libsvn_fs_fs/lock.c

* subversion/libsvn_fs_fs/temp_serializer.c

* subversion/libsvn_fs_fs/tree.c

* subversion/libsvn_ra/compat.c

* subversion/libsvn_ra/deprecated.c

* subversion/libsvn_ra/ra_loader.c

* subversion/libsvn_ra_local/ra_plugin.c

* subversion/libsvn_ra_serf/blame.c

* subversion/libsvn_ra_serf/blncache.c

* subversion/libsvn_ra_serf/commit.c

* subversion/libsvn_ra_serf/getlocations.c

* subversion/libsvn_ra_serf/getlocationsegments.c

* subversion/libsvn_ra_serf/getlocks.c

* subversion/libsvn_ra_serf/inherited_props.c

* subversion/libsvn_ra_serf/log.c

* subversion/libsvn_ra_serf/merge.c

* subversion/libsvn_ra_serf/mergeinfo.c

* subversion/libsvn_ra_serf/options.c

* subversion/libsvn_ra_serf/property.c

* subversion/libsvn_ra_serf/replay.c

* subversion/libsvn_ra_serf/serf.c

* subversion/libsvn_ra_serf/update.c

* subversion/libsvn_ra_serf/util.c

* subversion/libsvn_ra_serf/xml.c

* subversion/libsvn_ra_svn/client.c

* subversion/libsvn_ra_svn/editorp.c

* subversion/libsvn_ra_svn/marshal.c

* subversion/libsvn_repos/authz.c

* subversion/libsvn_repos/commit.c

* subversion/libsvn_repos/delta.c

* subversion/libsvn_repos/deprecated.c

* subversion/libsvn_repos/fs-wrap.c

* subversion/libsvn_repos/hooks.c

* subversion/libsvn_repos/log.c

* subversion/libsvn_repos/replay.c

* subversion/libsvn_repos/reporter.c

* subversion/libsvn_repos/repos.c

* subversion/libsvn_repos/rev_hunt.c

* subversion/libsvn_subr/auth.c

* subversion/libsvn_subr/cmdline.c

* subversion/libsvn_subr/compat.c

* subversion/libsvn_subr/config.c

* subversion/libsvn_subr/config_auth.c

* subversion/libsvn_subr/deprecated.c

* subversion/libsvn_subr/dso.c

* subversion/libsvn_subr/hash.c

* subversion/libsvn_subr/io.c

* subversion/libsvn_subr/mergeinfo.c

* subversion/libsvn_subr/opt.c

* subversion/libsvn_subr/properties.c

* subversion/libsvn_subr/simple_providers.c

* subversion/libsvn_subr/sorts.c

* subversion/libsvn_subr/ssl_client_cert_providers.c

* subversion/libsvn_subr/ssl_client_cert_pw_providers.c

* subversion/libsvn_subr/ssl_server_trust_providers.c

* subversion/libsvn_subr/subst.c

* subversion/libsvn_subr/types.c

* subversion/libsvn_subr/username_providers.c

* subversion/libsvn_subr/utf.c

* subversion/libsvn_subr/win32_crypto.c

* subversion/libsvn_wc/adm_crawler.c

* subversion/libsvn_wc/adm_files.c

* subversion/libsvn_wc/conflicts.c

* subversion/libsvn_wc/copy.c

* subversion/libsvn_wc/deprecated.c

* subversion/libsvn_wc/diff_editor.c

* subversion/libsvn_wc/diff_local.c

* subversion/libsvn_wc/entries.c

* subversion/libsvn_wc/externals.c

* subversion/libsvn_wc/info.c

* subversion/libsvn_wc/lock.c

* subversion/libsvn_wc/node.c

* subversion/libsvn_wc/old-and-busted.c

* subversion/libsvn_wc/props.c

* subversion/libsvn_wc/revert.c

* subversion/libsvn_wc/status.c

* subversion/libsvn_wc/update_editor.c

* subversion/libsvn_wc/upgrade.c

* subversion/libsvn_wc/wc_db_update_move.c

* subversion/libsvn_wc/wc_db_wcroot.c

* subversion/mod_dav_svn/repos.c

* subversion/mod_dav_svn/version.c

* subversion/svn/cl-conflicts.c

* subversion/svn/commit-cmd.c

* subversion/svn/conflict-callbacks.c

* subversion/svn/diff-cmd.c

* subversion/svn/help-cmd.c

* subversion/svn/notify.c

* subversion/svn/propedit-cmd.c

* subversion/svn/propget-cmd.c

* subversion/svn/props.c

* subversion/svn/status-cmd.c

* subversion/svn/status.c

* subversion/svn/svn.c

* subversion/svn/util.c

* subversion/svnadmin/svnadmin.c

* subversion/svnlook/svnlook.c

* subversion/svnrdump/dump_editor.c

* subversion/svnrdump/svnrdump.c

* subversion/svnrdump/util.c

* subversion/svnserve/serve.c

* subversion/svnsync/svnsync.c

* subversion/svnsync/sync.c

* subversion/tests/libsvn_fs/fs-test.c

* subversion/tests/libsvn_repos/repos-test.c

* subversion/tests/libsvn_subr/hashdump-test.c

* subversion/tests/libsvn_subr/mergeinfo-test.c

* subversion/tests/libsvn_subr/subst_translate-test.c

* subversion/tests/libsvn_wc/conflict-data-test.c

* subversion/tests/libsvn_wc/op-depth-test.c

* subversion/tests/libsvn_wc/wc-test.c

* subversion/tests/svn_test_fs.c

* tools/server-side/fsfs-stats.c

Move the svn_string_private.h include back to the original location.

  1. … 162 more files in changeset.
Finish ending the use of the deprecated svn_stream_set_read().

* subversion/bindings/ctypes-python/csvn/types.py

(Stream.__init__): Use svn_stream_set_read2().

* subversion/bindings/javahl/native/InputStream.cpp

(InputStream::getStream): Use svn_stream_set_read2().

* subversion/bindings/javahl/native/jniwrapper/jni_io_stream.cpp

(InputStream::get_global_stream, InputStream:get_stream):

Use svn_stream_set_read2().

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c

(svn_swig_pl_make_stream): Use svn_stream_set_read2().

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c

(svn_swig_py_make_stream): Use svn_stream_set_read2().

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

(svn_swig_rb_make_stream): Use svn_stream_set_read2().

* subversion/libsvn_fs_base/reps-strings.c

(svn_fs_base__rep_contents_read_stream): Use svn_stream_set_read2().

* subversion/libsvn_fs_fs/cached_data.c

(svn_fs_fs__get_contents): Use svn_stream_set_read2().

* subversion/libsvn_fs_fs/recovery.c

(recover_find_max_ids): Use svn_stream_set_read2().

* subversion/libsvn_fs_x/cached_data.c

(svn_fs_x__get_contents): Use svn_stream_set_read2().

* subversion/libsvn_subr/spillbuf.c

(svn_stream__from_spillbuf): Use svn_stream_set_read2().

* subversion/libsvn_subr/stream.c

(svn_stream_compressed): Use svn_stream_set_read2().

* subversion/libsvn_subr/subst.c

(stream_translated, svn_subst_stream_from_specialfile):

Use svn_stream_set_read2().

* subversion/libsvn_wc/adm_crawler.c

(copying_stream): Use svn_stream_set_read2().

* subversion/libsvn_wc/translate.c

(svn_wc__internal_translated_stream): Use svn_stream_set_read2().

  1. … 14 more files in changeset.
* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb__pre_ruby.h

Suppress several hundred warnings in the swig ruby build on Windows.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb__pre_ruby.h

Remove empty #if block.

Use standard names for subpools and iterpools.

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

(invoke_callback): rename sub_pool to subpool

* tools/dev/fsfs-reorg.c

(get_combined_window): ditto; rename iter_pool to iterpool

* tools/server-side/fsfs-stats.c

(get_combined_window): same here

(parse_dir): rename iter_pool to iterpool

  1. … 2 more files in changeset.
Fix the #include order such that svn_private_config.h is always

included first before any other svn header - if we also include

svn_hash.h.

* subversion/bindings/javahl/native/org_apache_subversion_javahl_ConfigImpl_Category.cpp,

subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c,

subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c,

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

subversion/libsvn_auth_gnome_keyring/gnome_keyring.c,

subversion/libsvn_client/add.c,

subversion/libsvn_client/cat.c,

subversion/libsvn_client/changelist.c,

subversion/libsvn_client/cleanup.c,

subversion/libsvn_client/commit.c,

subversion/libsvn_client/commit_util.c,

subversion/libsvn_client/copy.c,

subversion/libsvn_client/copy_foreign.c,

subversion/libsvn_client/ctx.c,

subversion/libsvn_client/delete.c,

subversion/libsvn_client/deprecated.c,

subversion/libsvn_client/diff.c,

subversion/libsvn_client/diff_local.c,

subversion/libsvn_client/diff_summarize.c,

subversion/libsvn_client/export.c,

subversion/libsvn_client/externals.c,

subversion/libsvn_client/import.c,

subversion/libsvn_client/info.c,

subversion/libsvn_client/iprops.c,

subversion/libsvn_client/list.c,

subversion/libsvn_client/locking_commands.c,

subversion/libsvn_client/log.c,

subversion/libsvn_client/merge.c,

subversion/libsvn_client/mergeinfo.c,

subversion/libsvn_client/patch.c,

subversion/libsvn_client/prop_commands.c,

subversion/libsvn_client/ra.c,

subversion/libsvn_client/repos_diff.c,

subversion/libsvn_client/resolved.c,

subversion/libsvn_client/revert.c,

subversion/libsvn_client/status.c,

subversion/libsvn_client/switch.c,

subversion/libsvn_client/update.c,

subversion/libsvn_client/util.c,

subversion/libsvn_delta/compat.c,

subversion/libsvn_delta/xdelta.c,

subversion/libsvn_diff/parse-diff.c,

subversion/libsvn_diff/util.c,

subversion/libsvn_fs/access.c,

subversion/libsvn_fs_base/bdb/changes-table.c,

subversion/libsvn_fs_base/bdb/env.c,

subversion/libsvn_fs_base/dag.c,

subversion/libsvn_fs_base/fs.c,

subversion/libsvn_fs_base/lock.c,

subversion/libsvn_fs_base/revs-txns.c,

subversion/libsvn_fs_base/tree.c,

subversion/libsvn_fs_fs/caching.c,

subversion/libsvn_fs_fs/fs_fs.c,

subversion/libsvn_fs/fs-loader.c,

subversion/libsvn_fs_fs/lock.c,

subversion/libsvn_fs_fs/temp_serializer.c,

subversion/libsvn_fs_fs/tree.c,

subversion/libsvn_fs_util/fs-util.c,

subversion/libsvn_ra/compat.c,

subversion/libsvn_ra/deprecated.c,

subversion/libsvn_ra_local/ra_plugin.c,

subversion/libsvn_ra/ra_loader.c,

subversion/libsvn_ra_serf/blame.c,

subversion/libsvn_ra_serf/blncache.c,

subversion/libsvn_ra_serf/commit.c,

subversion/libsvn_ra_serf/getlocations.c,

subversion/libsvn_ra_serf/getlocationsegments.c,

subversion/libsvn_ra_serf/getlocks.c,

subversion/libsvn_ra_serf/inherited_props.c,

subversion/libsvn_ra_serf/log.c,

subversion/libsvn_ra_serf/merge.c,

subversion/libsvn_ra_serf/mergeinfo.c,

subversion/libsvn_ra_serf/options.c,

subversion/libsvn_ra_serf/property.c,

subversion/libsvn_ra_serf/replay.c,

subversion/libsvn_ra_serf/serf.c,

subversion/libsvn_ra_serf/update.c,

subversion/libsvn_ra_serf/util.c,

subversion/libsvn_ra_serf/xml.c,

subversion/libsvn_ra_svn/client.c,

subversion/libsvn_ra_svn/editorp.c,

subversion/libsvn_ra_svn/marshal.c,

subversion/libsvn_repos/authz.c,

subversion/libsvn_repos/commit.c,

subversion/libsvn_repos/delta.c,

subversion/libsvn_repos/deprecated.c,

subversion/libsvn_repos/fs-wrap.c,

subversion/libsvn_repos/hooks.c,

subversion/libsvn_repos/log.c,

subversion/libsvn_repos/replay.c,

subversion/libsvn_repos/reporter.c,

subversion/libsvn_repos/repos.c,

subversion/libsvn_repos/rev_hunt.c,

subversion/libsvn_subr/auth.c,

subversion/libsvn_subr/cmdline.c,

subversion/libsvn_subr/compat.c,

subversion/libsvn_subr/config_auth.c,

subversion/libsvn_subr/config.c,

subversion/libsvn_subr/deprecated.c,

subversion/libsvn_subr/dso.c,

subversion/libsvn_subr/hash.c,

subversion/libsvn_subr/io.c,

subversion/libsvn_subr/mergeinfo.c,

subversion/libsvn_subr/opt.c,

subversion/libsvn_subr/properties.c,

subversion/libsvn_subr/simple_providers.c,

subversion/libsvn_subr/sorts.c,

subversion/libsvn_subr/ssl_client_cert_providers.c,

subversion/libsvn_subr/ssl_client_cert_pw_providers.c,

subversion/libsvn_subr/ssl_server_trust_providers.c,

subversion/libsvn_subr/subst.c,

subversion/libsvn_subr/types.c,

subversion/libsvn_subr/username_providers.c,

subversion/libsvn_subr/utf.c,

subversion/libsvn_subr/win32_crypto.c,

subversion/libsvn_wc/adm_crawler.c,

subversion/libsvn_wc/adm_files.c,

subversion/libsvn_wc/adm_ops.c,

subversion/libsvn_wc/conflicts.c,

subversion/libsvn_wc/copy.c,

subversion/libsvn_wc/deprecated.c,

subversion/libsvn_wc/diff_editor.c,

subversion/libsvn_wc/diff_local.c,

subversion/libsvn_wc/entries.c,

subversion/libsvn_wc/externals.c,

subversion/libsvn_wc/info.c,

subversion/libsvn_wc/lock.c,

subversion/libsvn_wc/node.c,

subversion/libsvn_wc/old-and-busted.c,

subversion/libsvn_wc/props.c,

subversion/libsvn_wc/revert.c,

subversion/libsvn_wc/status.c,

subversion/libsvn_wc/translate.c,

subversion/libsvn_wc/update_editor.c,

subversion/libsvn_wc/upgrade.c,

subversion/libsvn_wc/wc_db.c,

subversion/libsvn_wc/wc_db_update_move.c,

subversion/libsvn_wc/wc_db_wcroot.c,

subversion/libsvn_wc/workqueue.c,

subversion/mod_dav_svn/activity.c,

subversion/mod_dav_svn/deadprops.c,

subversion/mod_dav_svn/lock.c,

subversion/mod_dav_svn/merge.c,

subversion/mod_dav_svn/mod_dav_svn.c,

subversion/mod_dav_svn/reports/update.c,

subversion/mod_dav_svn/repos.c,

subversion/mod_dav_svn/version.c,

subversion/svnadmin/svnadmin.c,

subversion/svnauth/svnauth.c,

subversion/svn/cl-conflicts.c,

subversion/svn/commit-cmd.c,

subversion/svn/conflict-callbacks.c,

subversion/svn/diff-cmd.c,

subversion/svn/help-cmd.c,

subversion/svnlook/svnlook.c,

subversion/svnmucc/svnmucc.c,

subversion/svn/notify.c,

subversion/svn/propedit-cmd.c,

subversion/svn/propget-cmd.c,

subversion/svn/props.c,

subversion/svnrdump/dump_editor.c,

subversion/svnrdump/svnrdump.c,

subversion/svnrdump/util.c,

subversion/svnserve/serve.c,

subversion/svn/status.c,

subversion/svn/status-cmd.c,

subversion/svn/svn.c,

subversion/svnsync/svnsync.c,

subversion/svnsync/sync.c,

subversion/svn/util.c,

subversion/tests/libsvn_fs/fs-test.c,

subversion/tests/libsvn_repos/repos-test.c,

subversion/tests/libsvn_subr/hashdump-test.c,

subversion/tests/libsvn_subr/mergeinfo-test.c,

subversion/tests/libsvn_subr/subst_translate-test.c,

subversion/tests/libsvn_wc/conflict-data-test.c,

subversion/tests/libsvn_wc/op-depth-test.c,

subversion/tests/libsvn_wc/wc-test.c,

subversion/tests/svn_test_fs.c,

tools/dev/fsfs-reorg.c,

tools/server-side/fsfs-stats.c): #include svn_private_config.h first

  1. … 180 more files in changeset.
Revert the last few remaining pieces of r850307 (aka r10233), which made the

swig bindings on Windows link the 'core' library as central component from

every other swig library.

In the few months after this commit (read: somewhere in 2004) most of this

change was tweaked and partially reverted, but some magic was left.

Since this didn't work out as planned (as looked at 9 years later), hacks

were applied to work around all this. E.g some bindings forced a shared

library and then used explicit dll exporting/importing on Windows to get

things working.

This patch makes the bindings all use a proper shared library on Windows,

with the function exporting handled via the standard header file system we

use in other places.

* build.conf

(swig_core): Remove keyword that hasn't been used for at least 8 years.

(libsvn_swig_py,

libsvn_swig_perl,

libsvn_swig_ruby): Add svn-exports.

* build/generator/gen_base.py

(TargetLib.disable_shared): New function.

(TargetSWIG.__init__): Remove include_runtime initialization.

(TargetSWIGLib.disable_shared): New function.

* build/generator/gen_win.py

(get_install_targets): Call disable_shared instead of doing half its work locally.

(get_def_file): Remove disable_shared check.

(get_linked_win_depends): Remove disable_shared check.

* subversion/bindings/swig/core.i

(const void *value): Update caller.

(SWIGPERL init): Remove circular dependency hack.

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

(SWIGTYPE **OUTPARAM,

POINTER_TYPES,

CALLABLE_CALLBACK,

PY_AS_VOID): Update caller.

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c

(svn_swig_pl_bind_current_pool_fns): Remove

SVN_AVOID_CIRCULAR_LINKAGE_AT_ALL_COSTS_HACK hack.

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h

(svn_swig_pl_bind_current_pool_fns): Remove

SVN_AVOID_CIRCULAR_LINKAGE_AT_ALL_COSTS_HACK hack.

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c

(svn_swig_py_get_pool_arg,

svn_swig_py_get_parent_pool): Update caller.

(svn_swig_NewPointerObj): Rename to ...

(svn_swig_py_new_pointer_obj): ... this.

(svn_swig_NewPointerObjString): Rename to ...

(svn_swig_NewPointerObjString): ... this. Update caller.

(svn_swig_ConvertPtr): Rename to ...

(svn_swig_py_convert_ptr): ... this.

(svn_swig_ConvertPtrString): Update caller.

(svn_swig_MustGetPtr): Rename to ...

(svn_swig_py_must_get_ptr): ... this.

(make_ob_pool): Update caller.

(convert_to_swigtype): Update caller.

(DECLARE_SWIG_CONSTRUCTOR): Update caller.

(svn_swig_py_struct_ptr_hash_from_dict): Update caller.

(svn_swig_py_unwrap_struct_ptr): Update caller.

(svn_swig_py_convert_txdelta_op_c_array): Update caller.

(swig_py_ra_reporter2): Make static.

(svn_swig_py_get_ra_reporter2): New function.

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h

(SVN_SWIG_SWIGUTIL_EXPORT): Remove definition and all usages.

(svn_swig_NewPointerObj): Rename to ...

(svn_swig_py_new_pointer_obj): ... this.

(svn_swig_ConvertPtr): Rename to ...

(svn_swig_py_convert_ptr): ... this.

(svn_swig_MustGetPtr): Rename to ...

(svn_swig_py_must_get_ptr): ... this.

(svn_swig_py_get_ra_reporter2): New function.

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

(SVN_RB_SWIG_SWIGUTIL_EXPORT): Remove definition and all usages.

* subversion/bindings/swig/svn_ra.i

(const svn_ra_reporter2_t *reporter, void *report_baton): Update caller.

* win-tests.py

('perl'): Copy libsvn_swig_perl to $PATH instead of _Core.

  1. … 11 more files in changeset.
Various fixes to help the usage of shared libraries in the swig bindings.

No functional changes.

This allows compiling and using the libsvn_swig_* libraries as proper

shared libraries on Windows, but I'll enable that in a separate patch.

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c

(svn_delta_wrap_window_handler): Rename to ...

(svn_swig_pl_wrap_window_handler): ... this.

(svn_delta_make_editor): Rename to ...

(svn_swig_pl_make_editor): ... this.

(svn_ra_make_callbacks): Rename to ...

(svn_swig_pl_make_callbacks): ... this.

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h

(svn_swig_pl_convert_hash_of_revnum_t,

svn_swig_pl_ints_to_list): Remove unneeded protoypes.

(svn_delta_wrap_window_handler): Rename to ...

(svn_swig_pl_wrap_window_handler): ... this.

(svn_delta_make_editor): Rename to ...

(svn_swig_pl_make_editor): ... this.

(svn_ra_make_callbacks): Rename to ...

(svn_swig_pl_make_callbacks): ... this.

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

(svn_swig_rb_ra_reporter3): Replace by...

(svn_swig_rb_get_ra_reporter3): ... this.

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

(svn_swig_rb_invoke_txdelta_window_handler): Remove unimplemented prototype.

(svn_swig_rb_ra_reporter3): Replace by...

(svn_swig_rb_get_ra_reporter3): ... this.

* subversion/bindings/swig/svn_delta.i

(svn_swig_py_make_editor): Remove duplicated prototype from swigutil_py.h.

(const svn_delta_editor_t *EDITOR, void *BATON): Update caller.

(svn_delta_wrap_window_handler): Remove duplicated prototype from swigutil_pl.h.

* subversion/bindings/swig/svn_ra.i

(const svn_ra_callbacks_t *, void *): Update caller.

(const svn_ra_reporter3_t *, void *): Update caller.

  1. … 4 more files in changeset.
* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c

(callback,

callback_rescue,

callback_ensure,

callback_handle_error): Properly mark these functions as having a

variable number of arguments, to fix stack unwinding information

during debugging on Windows.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb__pre_ruby.h

(HAVE_STDINT_H): Add enough replacements from <stdint.h> to make the

ruby 1.9 build on VS2008 happy.

Resolve a Visual C++ 2008 build error in the Ruby build.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb__pre_ruby.h

(HAVE_STDINT_H): Undefine this variable for Visual Studio 2008 and older.

In the Windows project file generator: extend the generator and the dependency

framework to allow forcefully including an include file before the actual c

file.

This ugly hack is necessary to allow compiling the 1.9+ Swig Ruby bindings on

Windows without changing the standard swig or ruby headers, as Swig starts

its generated files with a #include <ruby.h> before any other headers :(

This change makes the project generator handle include dirs, lib dirs,

forced headers and libraries in the same way: per configuration.

* build/generator/gen_msvc_dsp.py

(write_project): Remove includes from ezt data.

* build/generator/gen_vcnet_vcproj.py

(write_project): Remove includes from ezt data.

* build/generator/gen_win.py

(get_configs): Add includes and forced headers to the per configuration data.

* build/generator/templates/msvc_dsp.ezt

Update includes reference.

* build/generator/templates/vcnet_vcproj.ezt

Update includes reference. Support forcing an include.

* build/generator/templates/vcnet_vcxproj.ezt

Update includes reference. Support forcing an include.

Remove doubled semicolon.

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

(swigutil_rb__pre_ruby.h): Add include for dependency tracking.

Fix reference to st.h for Ruby >= 1.9.

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

(swigutil_rb__pre_ruby.h): Add include for dependency tracking.

Fix reference to regex.h for Ruby >= 1.9.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb__pre_ruby.h

New file

  1. … 6 more files in changeset.
* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h

(ruby/io.h): Include the appropriate Ruby header if using Ruby 1.9 and

thus avoid the 'use "ruby/io.h" instead of "rubyio.h"' warning.

Follow-up to r1442063: Fix broken ruby bindings build on Windows.

r1442063 turned the Windows compiler warning C4204 "nonstandard extension

used : non-constant aggregate initializer" into an error. The Ruby bindings

uses a few such offending initializers and thus needs some minor tweaks to

be built again.

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

(rb_set_pool_if_swig_type_object,

r2c_hash,

invoke_callback): Declare and initialize arrays/structs in separate

statements.

Use svn_hash_gets and svn_hash_sets.

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c

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

* subversion/libsvn_auth_gnome_keyring/gnome_keyring.c

* subversion/libsvn_client/commit.c

* subversion/libsvn_delta/compat.c

* subversion/libsvn_delta/editor.c

* subversion/libsvn_diff/parse-diff.c

* subversion/libsvn_diff/util.c

* subversion/libsvn_fs/access.c

* subversion/libsvn_fs_base/bdb/changes-table.c

* subversion/libsvn_fs_base/dag.c

* subversion/libsvn_fs_base/fs.c

* subversion/libsvn_fs_base/lock.c

* subversion/libsvn_fs_base/revs-txns.c

* subversion/libsvn_fs_base/tree.c

* subversion/libsvn_fs_fs/fs_fs.c

* subversion/libsvn_fs_fs/lock.c

* subversion/libsvn_fs_fs/temp_serializer.c

* subversion/libsvn_fs_fs/tree.c

* subversion/libsvn_fs_util/fs-util.c

* subversion/libsvn_ra/compat.c

* subversion/libsvn_ra/deprecated.c

* subversion/libsvn_ra/ra_loader.c

* subversion/libsvn_ra_local/ra_plugin.c

* subversion/libsvn_ra_serf/blame.c

* subversion/libsvn_ra_serf/blncache.c

* subversion/libsvn_ra_serf/commit.c

* subversion/libsvn_ra_serf/getlocations.c

* subversion/libsvn_ra_serf/getlocationsegments.c

* subversion/libsvn_ra_serf/getlocks.c

* subversion/libsvn_ra_serf/inherited_props.c

* subversion/libsvn_ra_serf/log.c

* subversion/libsvn_ra_serf/merge.c

* subversion/libsvn_ra_serf/mergeinfo.c

* subversion/libsvn_ra_serf/options.c

* subversion/libsvn_ra_serf/property.c

* subversion/libsvn_ra_serf/serf.c

* subversion/libsvn_ra_serf/update.c

* subversion/libsvn_ra_serf/util.c

* subversion/libsvn_ra_serf/xml.c

* subversion/libsvn_ra_svn/client.c

* subversion/libsvn_ra_svn/editorp.c

* subversion/libsvn_ra_svn/marshal.c

* subversion/mod_dav_svn/activity.c

* subversion/mod_dav_svn/lock.c

* subversion/mod_dav_svn/merge.c

* subversion/mod_dav_svn/reports/update.c

* subversion/mod_dav_svn/repos.c

* subversion/mod_dav_svn/version.c

* subversion/svn/cl-conflicts.c

* subversion/svn/commit-cmd.c

* subversion/svn/conflict-callbacks.c

* subversion/svn/help-cmd.c

* subversion/svn/propedit-cmd.c

* subversion/svn/propget-cmd.c

* subversion/svn/status-cmd.c

* subversion/svn/status.c

* subversion/svn/svn.c

* subversion/svn/util.c

* subversion/svnadmin/svnadmin.c

* subversion/svndumpfilter/svndumpfilter.c

* subversion/svnlook/svnlook.c

* subversion/svnmucc/svnmucc.c

* subversion/svnrdump/dump_editor.c

* subversion/svnrdump/load_editor.c

* subversion/svnrdump/svnrdump.c

* subversion/svnrdump/util.c

* subversion/svnserve/serve.c

* subversion/svnsync/svnsync.c

* subversion/svnsync/sync.c

  1. … 70 more files in changeset.
Const-ify an argument.

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

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

(r2c_svn_string): Constify the ctx param.

Allow setting the SVN_AUTH_PARAM_GNOME_KEYRING_UNLOCK_PROMPT_FUNC

authentication parameter from the perl, python and ruby bindings.

This parameter cannot be set using the regular svn_auth_set_parameter

function, since the function from perl/python/ruby space must be wrapped

in a C function to allow it to be called. For this reason, a new

function, svn_auth_set_gnome_keyring_unlock_prompt_func, is introduced

(in the bindings only).

[in subversion/bindings/swig]

* core.i

(svn_auth_set_gnome_keyring_unlock_prompt_func): Add function and

setup corresponding authprompt_callback_typemap.

* perl/libsvn_swig_perl/swigutil_pl.c,

perl/libsvn_swig_perl/swigutil_pl.h

(svn_swig_pl_thunk_gnome_keyring_unlock_prompt): Add function (called

by authprompt_callback_typemap)

* python/libsvn_swig_py/swigutil_py.c

python/libsvn_swig_py/swigutil_py.h

(svn_swig_py_auth_gnome_keyring_unlock_prompt_func): Add function

(called by authprompt_callback_typemap)

* ruby/libsvn_swig_ruby/swigutil_rb.c,

ruby/libsvn_swig_ruby/swigutil_rb.h

(svn_swig_rb_auth_gnome_keyring_unlock_prompt_func): Add function

(called by authprompt_callback_typemap)

* perl/native/t/3client.t,

python/tests/client.py

Add test for svn_auth_set_gnome_keyring_unlock_prompt_func.

[in tools/examples]

* get-location-segments.py,

info.rb

Use the new svn_auth_set_gnome_keyring_unlock_prompt_func function.

Patch by: Matthijs Kooijman <matthijs@stdin.nl>

  1. … 9 more files in changeset.
Fix the ruby bindings for svn_auth_get_platform_specific_client_providers.

The bindings were present, but due to a missing argout typemap for

apr_array_header_t **providers, they threw a not implemented error. This

was fixed for perl in r1035745 and for python in r1241530, but was still

broken for ruby.

[in subversion/bindings/swig]

* include/svn_containers.swg

(apr_array_header_t **providers):

New SWIGRUBY typemap.

* ruby/libsvn_swig_ruby/swigutil_rb.c,

ruby/libsvn_swig_ruby/swigutil_rb.h

(svn_swig_rb_apr_array_to_array_auth_provider_object): Add function.

* ruby/svn/core.rb

(add_platform_specific_client_providers, add_providers): Add

functions.

[in tools/examples]

* info.rb

Add a new example that shows how to do remote access instead of

working on an existing working copy (like the existing examples do).

This example also shows how to call

svn_auth_get_platform_specific_client_providers.

Patch by: Matthijs Kooijman <matthijs@stdin.nl>

  1. … 3 more files in changeset.
Name anonymous structs that my previous glob pattern verb(oversight)ed.

See r1053996 for details.

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

subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c,

subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c,

contrib/server-side/mod_dontdothat/mod_dontdothat.c,

contrib/server-side/svnstsw/src/main.c,

contrib/server-side/svnstsw/src/fso_is_changeable.c,

tools/client-side/svnmucc/svnmucc.c:

As above.

  1. … 6 more files in changeset.
* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c:

(r2c_swig_type2): Make variable definition conditional about usage.

Apply ASF license headers to a number of files included under that license

but lacking said header.

Patch by: Niall Pemberton <niallp{_AT_}apache.org>

  1. … 174 more files in changeset.
* subversion/bindings/javahl/native/SVNAdmin.cpp,

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

* subversion/libsvn_client/mergeinfo.c,

* subversion/libsvn_client/status.c,

* subversion/libsvn_subr/dirent_uri.c,

* subversion/libsvn_wc/ambient_depth_filter_editor.c,

* subversion/libsvn_wc/context.c,

* subversion/tests/libsvn_delta/window-test.c:

Remove an extra semicolon.

Patch by: Kannan R <kannanr@collab.net>

me

  1. … 7 more files in changeset.
Fix some compiler warnings.

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c

(svn_swig_py_clear_application_pool): Fix style of definition.

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

(svn_swig_rb_initialize): Delete unused variable.

(c2r_merge_range_array, c2r_hash, c2r_revnum): Mark as static.

  1. … 1 more file in changeset.
* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h

(RARRAY_LEN, RARRAY_PTR, RSTRING_LEN, RSTRING_PTR): Define for compatibility

with Ruby <=1.8.5 which doesn't define these definitions.

Patch by: Rupert Wood <me@rupey.net>

(Tweaked by me.)

Follow-up to r35852:

Improve check for rb_errinfo().

* build/ac-macros/swig.m4

(SVN_FIND_SWIG): Define HAVE_RB_ERRINFO if rb_errinfo() is available.

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

(callback_rescue): Use rb_errinfo() if HAVE_RB_ERRINFO is defined.

  1. … 1 more file in changeset.
Fix building Ruby bindings with Ruby 1.9.

* build/ac-macros/swig.m4

(SVN_FIND_SWIG): Use appropriate -I options.

* subversion/bindings/swig/core.i: Use RSTRING_LEN().

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

(): Include <version.h>.

(rb_holder_pop, svn_swig_rb_set_pool, svn_swig_rb_to_apr_array_row_prop,

svn_swig_rb_to_apr_array_prop, svn_swig_rb_array_to_apr_array_revision_range,

name, read_handler_rbio): Use RARRAY_LEN(), RARRAY_PTR() and RSTRING_LEN().

(callback_rescue): Use rb_errinfo() instead of ruby_errinfo when Ruby >=1.9 is used.

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

(_swig_rb_closed): Use RSTRING_LEN().

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

(%typemap(in) svn_stringbuf_t *, %typemap(in) svn_stringbuf_t *node_name,

%typemap(in) const svn_string_t * (svn_string_t value)): Use RSTRING_LEN().

Unrelated changes which fix 'implicit declarations of svn_md5_digest_to_cstring()'

and some 'casts to pointer from integer of different size' accidentally discovered

when building Ruby bindings with Ruby 1.9:

* subversion/bindings/swig/core.i: Include svn_md5_h.swg.

* subversion/bindings/swig/svn_fs.i:

* subversion/bindings/swig/svn_wc.i:

* subversion/bindings/swig/svn_delta.i: Include "svn_md5.h" to get the

prototype for svn_md5_digest_to_cstring() (used in some typemaps in

svn_types.swg).

  1. … 7 more files in changeset.