Checkout Tools
  • last updated 5 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Move the 'svnrdump' dump editor implementation to libsvn_repos.

This brings it alongside the dump editor implementation used by 'svnadmin

dump', as a step towards unifying the two implementations.

* subversion/include/private/svn_repos_private.h

(svn_repos__get_dump_editor): New declaration.

* subversion/libsvn_repos/dump_editor.c

New file, copied from subversion/svnrdump/dump_editor.c.

Move the dump editor to here...

* subversion/svnrdump/dump_editor.c

... from here, leaving behind just the two wrappers (cancellation and Ev2

shims).

  1. … 2 more files in changeset.
Replace some calls to svn_io_file_info_get() with svn_io_file_size_get()

where it makes sense.

* subversion/libsvn_diff/binary_diff.c

(create_compressed): Use svn_io_file_size_get() and remove now unused

local variable FINFO.

* subversion/libsvn_diff/diff_file.c

(datasources_open): Use svn_io_file_size_get().

* subversion/libsvn_fs_fs/stats.c

(get_file_size): Remove.

(read_phys_pack_file, read_phys_revision_file): Use svn_io_file_size_get()

instead of local helper get_file_size().

* subversion/svnrdump/dump_editor.c

(close_file): Use svn_io_file_size_get() instead of apr_file_info_get()

and remove some legacy error handling.

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

(test_spillbuf__file_attrs): Use svn_io_file_size_get() instead of

svn_io_file_info_get().

  1. … 4 more files in changeset.
Make some private dumpfile APIs more opaque.

* subversion/include/private/svn_repos_private.h,

subversion/libsvn_repos/dump.c

(svn_repos__dumpfile_header_entry_t): Move from the header to the

implementation.

(svn_repos__dumpfile_headers_t): New.

(svn_repos__dumpfile_header_push,

svn_repos__dumpfile_header_pushf,

svn_repos__dump_headers,

svn_repos__dump_node_record): Use svn_repos__dumpfile_headers_t instead

of apr_array_header_t. Remove the redundant 'terminate' parameter from

svn_repos__dump_headers. Update callers.

* subversion/svndumpfilter/svndumpfilter.c

(node_baton_t): Update to use svn_repos__dumpfile_headers_t instead

of apr_array_header_t.

* subversion/svnrdump/dump_editor.c

(dir_baton,

get_props_content,

dump_node_delete,

dump_node,

dump_mkdir,

close_file): Update to use svn_repos__dumpfile_headers_t instead

of apr_array_header_t.

  1. … 3 more files in changeset.
* subversion/svnrdump/dump_editor.c

(dump_node_delete): Use svn_repos__dump_node_record() instead of

svn_repos__dump_headers(), for consistency, as we are dumping a

complete node record here.

Remove a self-proclaimed "ugly hack" in svnrdump. The 'dump_newlines' flag

is no longer necessary, following recent changes to the way in which node

records are dumped.

* subversion/svnrdump/dump_editor.c

(dir_baton): Remove the 'dump_newlines' flag.

(dump_node,

change_dir_prop): Don't set the flag.

(dump_pending_dir): Always print newlines here, since we always output a node

record here.

Factor out writing a dumpfile node record, from 'svnadmin dump', 'svnrdump

dump' and 'svndumpfilter'.

[Note from the future: this changed the order of headers in a node record.

Prop-content-length and Text-content-length now come last, just before

Content-length. The test suite was adjusted to accommodate this in r1655064.]

* subversion/include/private/svn_repos_private.h

(svn_repos__dump_node_record): New function.

* subversion/libsvn_repos/dump.c

(svn_repos__dump_node_record): New, moved from output_node_record in

svndumpfilter.c. Make the content-length header optional when there are

no properties or text, so we can preserve exact behaviour.

(dump_node): Use it.

* subversion/svndumpfilter/svndumpfilter.c

(output_node_record): Delete; move to svn_repos__dump_node_record.

(set_fulltext,

close_node): Adjust callers.

* subversion/svnrdump/dump_editor.c

(dir_baton): Add a 'headers' field in which to accumulate headers.

(make_dir_baton): Initialize the 'headers' field.

(get_props_content): Don't add a Prop-content-length header here.

(dump_node): Return headers instead of writing them.

(dump_mkdir,

dump_pending_dir): Simplify by using svn_repos__dump_node_record().

(open_root,

add_directory): Adjust a call to dump_node() to store the headers in the

node baton instead of writing them out straight away.

(close_directory): The same, and instead of adjusting the second dump_node

call and then dumping the resulting headers, use dump_node_delete().

(close_file): Adjust the call to dump_node() and use the headers returned

from it as the starting point for creating the rest of the headers.

  1. … 3 more files in changeset.
* subversion/svnrdump/dump_editor.c

(dump_pending_dir): Correct the doc string, following r1655002.

Simplify some code in 'svnrdump dump'.

The dump_pending() function was only ever needed for a directory node, so

remove the support for a pending file node.

* subversion/svnrdump/dump_editor.c

(dump_edit_baton): Replace the two 'pending' fields with a single pending

dir baton.

(do_dump_newlines): Delete; subsume into dump_pending_dir().

(dump_pending_dir): Rename from 'dump_pending'. Strip out file handling.

(open_root,

delete_entry,

add_directory,

open_directory,

close_directory,

add_file,

open_file,

change_dir_prop,

close_file,

svn_rdump__get_dump_editor): Adjust usage.

Fix issue #4553 "dumpfile has wrong node kind in delete record", by omitting

the node kind from the 'delete' record in this case just like we omit it

from the 'delete' record in non-replace cases. This applies to 'svnadmin

dump' and 'svnrdump dump'.

* subversion/libsvn_repos/dump.c,

subversion/svnrdump/dump_editor.c

(dump_node_delete): Remove support for the node kind.

(dump_node): Don't pass the node kind to dump_node_delete().

  1. … 1 more file in changeset.
Change the way a 'replace' is converted to delete-and-add in 'svnadmin load'

and 'svnrdump load', in preparation for fixing issue #4553 "dumpfile has wrong

node kind in delete record".

No functional change.

* subversion/libsvn_repos/dump.c

(dump_node_delete): New function.

(dump_node): Handle a replace-with-history by calling dump_node_delete

for the delete part and falling through to the 'add' case for the add part.

Convert a multiple 'if' statement to a 'switch' statement to facilitate

falling through, and for consistency with the svnrdump version of it.

* subversion/svnrdump/dump_editor.c

(dump_node_delete): New function.

(dump_node): Handle a replace-with-history by calling dump_node_delete

for the delete part and falling through to the 'add' case for the add part.

  1. … 1 more file in changeset.
* subversion/svnrdump/dump_editor.c,

subversion/svnrdump/load_editor.c

Remove debug statements.

  1. … 1 more file in changeset.
* subversion/libsvn_repos/dump.c,

subversion/svnrdump/dump_editor.c

(add_directory,

add_file): Rename 'val' to 'was_deleted' for clarity.

  1. … 1 more file in changeset.
Removed unused structure fields.

* subversion/libsvn_repos/dump.c

(dir_baton): Remove 'parent_dir_baton' and 'added' fields.

(make_dir_baton): Remove initializations.

Adjust callers.

* subversion/svnrdump/dump_editor.c

(dir_baton): Remove 'parent_dir_baton' and 'added' fields.

(file_baton): Remove 'parent_dir_baton' field.

(make_dir_baton,

make_file_baton): Remove initializations.

Adjust callers.

  1. … 1 more file in changeset.
* subversion/svnrdump/dump_editor.c

(dump_mkdir,

close_file): Fix printf formats to match the arguments. The former was

my recent mistake and caused a test failure on Windows; the latter is

old and doesn't seem to have caused problems.

More work on deduplicating dump/load code. This time, the target is the

functionality of formatting and writing headers, rather than significant

amounts of code. Factor this out of svnadmin, svnrdump and svndumpfilter.

This starts to make the writing of headers a batch action rather than a

series of sporadic writes to the stream from various code paths. In turn,

this paves the way for further refactoring.

No functional change.

* subversion/include/private/svn_repos_private.h,

subversion/libsvn_repos/dump.c

(svn_repos__dumpfile_headers_create,

svn_repos__dumpfile_header_push,

svn_repos__dumpfile_header_pushf,

svn_repos__dump_headers): New functions.

(dump_node): Use them instead of writing directly to the stream.

* subversion/svndumpfilter/svndumpfilter.c

(node_baton_t): Change the type of the headers accumulator. Add a per-node

pool.

(new_node_record): Initialize the new fields. Use the new functions

instead of writing directly to the stream. Don't write the headers to

the stream here; instead leave them in the node baton for writing later.

(output_node_record): Rename from 'output_node'. Take separate parameters

instead of the node baton. Use the new functions instead of writing

directly to the stream.

(set_fulltext,

close_node): Track the changes to output_node.

* subversion/svnrdump/dump_editor.c

(get_props_content

dump_node

dump_mkdir

dump_pending

close_file): Use the new style for writing headers.

  1. … 3 more files in changeset.
Simplify some code in svnrdump.

* subversion/svnrdump/dump_editor.c

(do_dump_props): Delete. The possible advantage of this function factoring

out some common functionality was completely negated by its having two

different modes of operation, one for each caller.

(dump_pending,

close_file): Do what's needed in the callers.

Fix issue #4552 "svnrdump writes duplicate headers for a replace-with-copy".

'svnrdump dump' wrote the Node-path and Node-kind headers twice for the

'delete' record, like this:

Node-path: A/D/G/rho

Node-kind: file

Node-path: A/D/G/rho

Node-kind: file

Node-action: delete

This bug was introduced in r1423632, and so first released in v1.8.0.

No adverse effects from this bug have been reported. 'svnadmin load' and

'svnrdump load' and 'svndumpfilter' all correctly read these node records.

* subversion/svnrdump/dump_editor.c

(dump_node): Revert part of r1423632, so as to complete the partially

written node record first and then make just one recursive call to write

the 'add' record. This makes the implementation more like that of

'svnadmin dump'.

* subversion/tests/cmdline/svnrdump_tests.py

(dump_replace_with_copy): New test.

(test_list): Run it.

  1. … 1 more file in changeset.
* subversion/svnrdump/dump_editor.c

(dir_baton): Remove an unused field...

(make_dir_baton,

open_root,

add_directory): ... and the assignments to it.

Revert the addition of per-node subpools within the svnrdump dump

editor. These are unnecessary because editor drivers already provide

suitably scoped pools.

This was introduced in r1557736, but the only misbehaving replay driver

was RA-serf and that had been corrected in r1499863 ("Convert ra_serfs

'svn_ra_replay' support to the transition based xml parser.").

* subversion/svnrdump/dump_editor.c

(make_dir_baton,

make_file_baton,

close_directory,

close_file): Revert the addition of per-dir and per-file subpools.

Remove unused buffers and obsolete comments.

* subversion/libsvn_repos/dump.c

(edit_baton,

filter_mergeinfo_paths_baton): Remove unused buffers.

(check_mergeinfo_normalization,

get_dump_editor): Remove initialization of those buffers.

(dump_node): Remove comment about a nonexistent buffer.

* subversion/svnrdump/dump_editor.c

(dump_node): Remove comment about a nonexistent buffer.

  1. … 1 more file in changeset.
Following the availability of apr_hash_this_key() etc. in APR v1.5, use

these in Subversion code instead of svn__apr_hash_index_key() etc. Provide

substitutes only when APR is too old to provide them.

* subversion/include/svn_types.h,

subversion/libsvn_subr/iter.c

(svn__apr_hash_index_key,

svn__apr_hash_index_klen,

svn__apr_hash_index_val):

Rename to apr_hash_this_key, apr_hash_this_key_len, apr_hash_this_val.

Declare and define them only if APR is older than 1.5.

Everywhere else: track the renames.

  1. … 102 more files in changeset.
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.
Reduce memory footprint of the svnrdump dump handling by creating subpools

per file and directory instead of only per revision. Somehow everything was

prepared, but not finished here.

[The creation of subpools was reverted in r1651690. The only bad driver, the

RA-serf replay driver, had been fixed in r1499863.]

* subversion/svnrdump/dump_editor.c

(make_dir_baton,

make_file_baton): Make file/dir pool within parent.

(delete_entry): Use parent pool for data in parent.

(add_directory,

open_directory): Don't use editor pool as scratch pool.

(close_directory): Destroy directory pool.

(add_file,

open_file,

apply_textdelta): Don't use editor pool as scratch pool.

(close_file): Destroy file pool.

Remove an unneeded wrapping layer in svnrdumps dump logic.

* subversion/svnrdump/dump_editor.c

(handler_baton): Remove struct.

(window_handler): Remove function.

(apply_textdelta): Just pass the values from svn_txdelta_to_svndiff3 as

handler instead of a wrapper that doesn't do anything.

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.
* **/**

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

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

No functional changes.

  1. … 199 more files in changeset.
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.
Following r1459058, include the necessary header to make the build work with

APR < 1.3.0.

* subversion/libsvn_wc/adm_ops.c

(svn_wc_process_committed_queue2): Include 'svn_dep_compat.h'.

* subversion/svn/notify.c

(svn_cl__notifier_reset_conflict_stats): Same.

* subversion/svnrdump/dump_editor.c

(do_dump_props, close_directory, close_file): Same.

  1. … 2 more files in changeset.
Make a compatibility macro for 'apr_hash_clear()', to be used when APR <

1.3.0, similar to the compatibility macro 'apr_array_clear' that we already

have for the same reason, so that we can use it regardless of which APR we

compile against. Call apr_hash_clear() instead of svn_hash__clear(),

everywhere (that is, in a grand total of four files).

Change the signature of svn_hash__clear() to match apr_hash_clear() and use

it to implement the compatibility macro. It now uses the hash's own private

iterator (which we don't generally use in Subversion), like APR's

apr_hash_clear() does.

* subversion/include/private/svn_subr_private.h

(svn_hash__clear): Remove this declaration.

* subversion/include/private/svn_dep_compat.h

(svn_hash__clear): Declare (the new signature) when APR < 1.3.0.

(apr_hash_clear): New macro, when APR < 1.3.0; calls svn_hash__clear.

* subversion/libsvn_subr/hash.c

(svn_hash__clear): Remove the pool argument, and return void.

* subversion/libsvn_ra_serf/serf.c

(svn_ra_serf__get_dir): Call apr_hash_clear() instead of svn_hash__clear().

* subversion/libsvn_wc/adm_ops.c

(svn_wc_process_committed_queue2): Same.

* subversion/svn/notify.c

(svn_cl__notifier_reset_conflict_stats): Same.

* subversion/svnrdump/dump_editor.c

(do_dump_props, close_directory, close_file): Same.

  1. … 6 more files in changeset.
Merge svn_kind_t into svn_node_kind_t, leaving only one public enumeration

that describes node kinds.

* subversion/include/svn_types.h (svn_kind_t): Removed.

All uses of svn_kind_t were replaced with svn_node_kind_t.

(svn_node_kind_t): New enumeration constant, svn_node_symlink.

Replaces all previous uses of svn_kind_symlink.

(svn__node_kind_from_kind): Removed. All call sites updated.

(svn__kind_from_node_kind): Removed. All call sites updated.

* subversion/libsvn_wc/tree_conflicts.c (node_kind_map):

Added comment about incompatible representation of svn_node_unknown.

* subversion/libsvn_wc/node.c (convert_db_kind_to_node_kind):

May be redundant, and comment is out of date. Added a note about that.

There are also a zillion changes in dependent files, and they all result

from the following renames:

svn_kind_t to svn_node_kind_t

svn_kind_none to svn_node_none

svn_kind_file to svn_node_file

svn_kind_dir to svn_node_dir

svn_kind_unknown to svn_node_unknown

svn_kind_symlink to svn_node_symlink

  1. … 65 more files in changeset.