Checkout Tools
  • last updated 7 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Bump the FS vtable declarations for revprop access but keep the current

general behavior.

This is the first in a series of patches that will allow FS API users

to efficiently access multiple revprops during the same report. Implement

the new functionality as no-op and ignore, respectively.

* subversion/libsvn_fs/fs-loader.h

(fs_vtable_t): Anticipate the upcoming FS API change. Introduce the

new refresh_revprops method and bump revision_prop

as well as revision_proplist. Those use the 2-pool

paradigm now and add a REFRESH option.

* subversion/libsvn_fs/fs-loader.c

(svn_fs_revision_prop,

svn_fs_revision_proplist): Adapt the old API to the new vtable.

refresh_revprops is not being used atm.

* subversion/libsvn_fs_base/fs.c

(base_bdb_refresh_revision): New no-op API implementation.

(fs_vtable): Update vtable.

* subversion/libsvn_fs_base/revs-txns.h

(svn_fs_base__revision_proplist,

svn_fs_base__revision_prop): Follow vtable change.

* subversion/libsvn_fs_base/revs-txns.c

(svn_fs_base__revision_proplist,

svn_fs_base__revision_prop): Ditto. Always implicitly "refresh".

* subversion/libsvn_fs_x/fs.c

(x_refresh_revprops): New no-op API implementation.

(x_revision_prop,

x_revision_proplist): Follow vtable change. Always implicitly "refresh".

We no longer need to create a local SCRATCH_POOL.

(fs_vtable): Update vtable.

* subversion/libsvn_fs_fs/fs.c

(fs_refresh_revprops): New no-op API implementation.

(fs_vtable): Update vtable.

* subversion/libsvn_fs_fs/revprops.h

(svn_fs_fs__get_revision_proplist): Follow vtable change.

* subversion/libsvn_fs_fs/revprops.c

(svn_fs_fs__get_revision_proplist): Same. Always implicitly "refresh".

Use the pools appropriately.

* subversion/libsvn_fs_fs/fs_fs.h

(svn_fs_fs__revision_prop): Follow vtable change.

* subversion/libsvn_fs_fs/fs_fs.c

(svn_fs_fs__revision_prop): Same. Only allocate the result in the

RESULT_POOL.

(change_rev_prop_body): Update caller to always "refresh".

* subversion/libsvn_fs_fs/verify.c

(verify_revprops): Same.

  1. … 11 more files in changeset.
At the FS level, optimize no-op revprop changes for all backends.

This eliminates the expensive file writes and fsync calls in the "no

actual change" case. However, we must do that late in the process

when we already acquired the repo write lock. Only that will guarantee

out-of-dateness checks to always kick in.

* subversion/libsvn_fs_fs/fs_fs.c

(change_rev_prop_body): Don't actually write the new revprop list

if it is the same as the old.

* subversion/libsvn_fs_x/fs_x.c

(change_rev_prop_body): Same for FSX.

* subversion/libsvn_fs_base/revs-txns.c

(svn_fs_base__set_rev_prop): Same for BDB.

  1. … 2 more files in changeset.
When creating a BDB txn the automatic setting of svn:date should

occur earlier so that it is not recorded as an explict setting.

* subversion/libsvn_fs_base/revs-txns.c

(txn_body_begin_txn): Move svn:date to here from ...

(svn_fs_base__begin_txn): ... here.

Found by: kotkov

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.
Just remove svn_fs_base__key_compare().

The function has different semantics than strcmp, but this doesn't matter for

how we use it. Leaving the macro around essentially means we need to document

strcmp again which is silly.

* subversion/libsvn_fs_base/key-gen.h

(svn_fs_base__key_compare): Remove.

* subversion/libsvn_fs_base/revs-txns.c

(delete_txn_tree): Update callers to use strcmp directly.

* subversion/libsvn_fs_base/tree.c

(get_copy_inheritance, txn_body_copied_from, txn_body_history_prev): ...

  1. … 2 more files in changeset.
In preparation for committing over RA with a specified svn:date,

change the FS implementation from a flag in svn_fs_commit_txn2 to

a flag passed to svn_fs_begin_txn2.

* subversion/include/svn_fs.h

(SVN_FS_TXN_CLIENT_DATE): New.

(svn_fs_commit_txn2): Remove.

(svn_fs_commit_txn): Remove deprecation.

* subversion/libsvn_fs/fs-loader.h

(struct txn_vtable_t): Remove set_timestamp parameter from commit.

(SVN_FS__PROP_TXN_CLIENT_DATE): New.

* subversion/libsvn_fs/fs-loader.c

(svn_fs_commit_txn2): Remove.

(svn_fs_change_txn_prop, svn_fs_change_txn_props): Drop changes to the

internal property.

* subversion/libsvn_fs/editor.c

(svn_fs__editor_commit): Use svn_fs_commit_txn.

* subversion/libsvn_fs_fs/transaction.h

(svn_fs_fs__commit): Remove set_timestamp parameter.

* subversion/libsvn_fs_fs/transaction.c

(svn_fs_fs__change_txn_props): Record svn:date change.

(write_final_revprop): Remove set_timestamp parameter.

(struct commit_baton): Remove set_timestamp member.

(commit_body): Update call.

(svn_fs_fs__commit): Remove set_timestamp parameter.

(svn_fs_fs__begin_txn): Set new temporary property.

* subversion/libsvn_fs_fs/tree.h

(svn_fs_fs__commit_txn): Remove set_timestamp parameter.

* subversion/libsvn_fs_fs/tree.c

(svn_fs_fs__commit_txn): Remove set_timestamp parameter.

* subversion/libsvn_fs_base/dag.h

(svn_fs_base__dag_commit_txn): Remove set_timestamp parameter.

* subversion/libsvn_fs_base/dag.c

(svn_fs_base__dag_commit_txn): Remove set_timestamp parameter.

* subversion/libsvn_fs_base/revs-txns.c

(svn_fs_base__set_txn_prop): Record svn:date change.

(txn_body_begin_txn): Set new temporary property.

* subversion/libsvn_fs_base/tree.h

(svn_fs_base__commit_txn): Remove set_timestamp parameter.

* subversion/libsvn_fs_base/tree.c

(struct commit_args): Remove set_timestamp member.

(txn_body_commit): Update call.

(svn_fs_base__commit_txn): Remove set_timestamp parameter.

* subversion/libsvn_fs_x/transaction.h

(svn_fs_x__commit): Remove set_timestamp parameter.

* subversion/libsvn_fs_x/transaction.c

(change_txn_props): Record svn:date change.

(write_final_revprop): Remove set_timestamp parameter.

(struct commit_baton): Remove set_timestamp member.

(commit_body): Update call.

(svn_fs_x__commit): Remove set_timestamp parameter.

(svn_fs_x__begin_txn): Set new temporary property.

* subversion/libsvn_fs_x/tree.h

(svn_fs_x__commit_txn): Remove set_timestamp parameter.

* subversion/libsvn_fs_x/tree.c

(svn_fs_x__commit_txn): Remove set_timestamp parameter.

* subversion/libsvn_repos/fs-wrap.c

(svn_repos_fs_commit_txn): Use svn_fs_commit_txn.

* subversion/libsvn_repos/load-fs-vtable.c

(new_revision_record): Set SVN_FS_TXN_CLIENT_DATE.

(close_revision): Use svn_fs_commit_txn.

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

(commit_timestamp): Set SVN_FS_TXN_CLIENT_DATE, use svn_fs_commit_txn,

test setting internal property.

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

(upgrade_txns_to_log_addressing): Use svn_fs_commit_txn.

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

(test_config_pool): Use svn_fs_commit_txn.

  1. … 21 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.
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.
Rename the 'svn_error_return' macro to 'svn_error_trace'.

See email thread "[RFC] Rename 'svn_error_return' to 'svn_error_trace'?" on

2011-06-23, <http://svn.haxx.se/dev/archive-2011-06/0708.shtml>.

* subversion/include/svn_error.h

(svn_error_return): Rename to svn_error_trace.

(SVN_ERR, svn_error_purge_tracing): Track the rename.

* [everywhere]: Track the rename.

  1. … 120 more files in changeset.
Remove 'svn obliterate' related code.

* subversion/libsvn_ra/ra_loader.h,

subversion/libsvn_ra/ra_loader.c

(svn_ra__vtable_t, svn_ra__obliterate_path_rev):

Remove obliterate related code.

* subversion/libsvn_fs/fs-loader.h,

subversion/libsvn_fs/fs-loader.c

(fs_vtable_t, svn_fs__begin_obliteration_txn,

svn_fs__commit_obliteration_txn): Remove obliterate related code.

* subversion/svn/cl.h,

subversion/svn/main.c

(svn_opt_subcommand_t, svn_cl__cmd_table): Remove obliterate related code.

* subversion/libsvn_ra_local/ra_plugin.c,

subversion/libsvn_ra_svn/client.c,

subversion/libsvn_ra_neon/session.c,

subversion/libsvn_ra_serf/serf.c

(svn_ra_local__obliterate_path_rev, ra_local_vtable, ra_svn_vtable,

neon_vtable, serf_vtable): Remove obliterate related code.

* subversion/libsvn_fs_base/tree.h,

subversion/libsvn_fs_base/tree.c,

subversion/libsvn_fs_base/reps-strings.h,

subversion/libsvn_fs_base/reps-strings.c,

subversion/libsvn_fs_base/dag.h,

subversion/libsvn_fs_base/dag.c,

subversion/libsvn_fs_base/revs-txns.c,

subversion/libsvn_fs_base/revs-txns.h,

subversion/libsvn_fs_base/fs.c

(svn_fs_base__commit_obliteration_txn, svn_fs_base__obliterate_rep,

txn_body_commit_obliteration, txn_body_obliterate_rep,

svn_fs_base__rep_obliterate, svn_fs_base__dag_commit_obliteration_txn,

svn_fs_base__dag_obliterate_rep, svn_fs_base__begin_obliteration_txn,

txn_vtable, txn_body_begin_obliteration_txn, fs_vtable,

node_origins_update, copies_update, changes_dup):

Remove obliterate related code.

* subversion/include/private/svn_client_private.h,

subversion/include/private/svn_repos_private.h,

subversion/include/private/svn_ra_private.h,

subversion/include/private/svn_fs_private.h

(svn_client__obliterate_path_rev, svn_repos__obliterate_path_rev,

svn_repos__pre_obliterate_hook, svn_repos__post_obliterate_hook,

svn_ra__obliterate_path_rev, svn_fs__begin_obliteration_txn,

svn_fs__commit_obliteration_txn): Remove obliterate related code.

* subversion/libsvn_repos/repos.h,

subversion/libsvn_repos/repos.c,

subversion/libsvn_repos/hooks.c

(svn_repos__hooks_pre_obliterate, svn_repos__hooks_post_obliterate,

create_hooks, check_hook_result): Remove obliterate related code.

* subversion/libsvn_fs_fs/tree.h,

subversion/libsvn_fs_fs/tree.c,

subversion/libsvn_fs_fs/fs_fs.h,

subversion/libsvn_fs_fs/fs_fs.c,

subversion/libsvn_fs_fs/fs.c

(svn_fs_fs__commit_obliteration_txn, svn_fs_fs__commit_obliteration,

svn_fs_fs__begin_obliteration_txn, txn_vtable,

svn_fs_fs__create_obliteration_txn, commit_obliteration_body,

svn_fs_fs__commit_obliteration, svn_fs_fs__begin_obliteration_txn,

fs_vtable): Remove obliterate related code.

* subversion/svn/obliterate-cmd.c,

subversion/libsvn_client/obliterate.c,

subversion/libsvn_repos/obliterate.c,

subversion/libsvn_fs_base/obliterate.h,

subversion/libsvn_fs_base/obliterate.c,

subversion/tests/cmdline/obliterate_tests.py

Remove obliterate related files.

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

subversion/tests/cmdline/svntest/objects.py

(obliterate_1, test_funcs, SvnRepository.obliterate_node_rev):

Remove obliterate related test.

Patch by: Noorul Islam K M <noorul{_AT_}collab.net>

  1. … 38 more files in changeset.
Tighten variable scope in many locations.

Found by: Philipp Kloke <philipp.kloke@web.de>

* subversion/libsvn_diff/diff_file.c,

subversion/libsvn_subr/error.c,

subversion/libsvn_subr/opt.c,

subversion/libsvn_subr/dirent_uri.c,

subversion/libsvn_subr/deprecated.c,

subversion/libsvn_subr/io.c,

subversion/libsvn_ra_local/ra_plugin.c,

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

subversion/mod_dav_svn/reports/update.c,

subversion/tests/svn_test_main.c,

subversion/svndumpfilter/main.c,

subversion/libsvn_ra_svn/cyrus_auth.c,

subversion/libsvn_ra_svn/marshal.c,

subversion/svn/propdel-cmd.c,

subversion/svn/propget-cmd.c,

subversion/svn/log-cmd.c,

subversion/svn/propset-cmd.c,

subversion/svn/switch-cmd.c,

subversion/svn/proplist-cmd.c,

subversion/svn/propedit-cmd.c,

subversion/libsvn_fs_base/tree.c,

subversion/libsvn_fs_base/revs-txns.c,

subversion/libsvn_wc/deprecated.c,

subversion/libsvn_wc/update_editor.c,

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

subversion/libsvn_wc/wc_db.c,

subversion/svnlook/main.c,

subversion/libsvn_client/export.c,

subversion/libsvn_client/patch.c,

subversion/libsvn_client/merge.c,

subversion/libsvn_client/mergeinfo.c,

subversion/libsvn_ra_neon/mergeinfo.c,

subversion/libsvn_ra_serf/mergeinfo.c,

subversion/libsvn_repos/reporter.c,

subversion/libsvn_repos/fs-wrap.c,

subversion/libsvn_repos/delta.c,

subversion/svnserve/serve.c:

Tighten variable scope.

  1. … 36 more files in changeset.
Rename an error code.

Suggested by: rhuijben

blair

* subversion/include/svn_error_codes.h

(SVN_ERR_BAD_OLD_VALUE): Remove.

(SVN_ERR_FS_PROP_BASEVALUE_MISMATCH): New.

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

subversion/libsvn_fs_base/revs-txns.c,

subversion/include/svn_fs.h,

subversion/libsvn_fs_fs/fs_fs.c:

Track rename.

  1. … 4 more files in changeset.
Use a new, distinct error code if svn_fs_change_rev_prop2's old_value_p

doesn't match.

* subversion/include/svn_error_codes.h

(SVN_ERR_BAD_OLD_VALUE): New error code.

* subversion/libsvn_fs_fs/fs_fs.c

(change_rev_prop_body): Use SVN_ERR_BAD_OLD_VALUE when appropriate.

* subversion/libsvn_fs_base/revs-txns.c

(svn_fs_base__set_rev_prop): Use SVN_ERR_BAD_OLD_VALUE when appropriate.

* subversion/include/svn_fs.h

(svn_fs_change_rev_prop2): Update documentation.

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

(FAILS_WITH_BPV): Rename to...

(FAILS_WITH_BOV): ... this. Change to test for SVN_ERR_BAD_OLD_VALUE.

(revision_props): Change to use FAILS_WITH_BOV instead of FAILS_WITH_BPV.

Patch by: Jon Foster <jon.foster@cabot.co.uk>

  1. … 4 more files in changeset.
Constify a parameter.

Suggested by: julianfoad

* subversion/include/svn_fs.h

(svn_fs_change_rev_prop2):

* subversion/libsvn_fs/fs-loader.h

(fs_vtable_t.change_rev_prop):

* subversion/libsvn_fs/fs-loader.c

(svn_fs_change_rev_prop2):

Make the OLD_VALUE_P member/parameter more const.

* subversion/libsvn_fs_base/revs-txns.h

(svn_fs_base__set_rev_prop, svn_fs_base__change_rev_prop):

* subversion/libsvn_fs_base/revs-txns.c

(svn_fs_base__set_rev_prop, change_rev_prop_args,

svn_fs_base__change_rev_prop):

Make the OLD_VALUE_P member/parameter more const.

* subversion/libsvn_fs_fs/fs_fs.c

(change_rev_prop_baton, svn_fs_fs__change_rev_prop):

* subversion/libsvn_fs_fs/fs_fs.h

(svn_fs_fs__change_rev_prop):

Make the OLD_VALUE_P member/parameter more const.

  1. … 6 more files in changeset.
Revv the FS change_rev_prop() interface towards more atomicity.

Suggested by: philip

* subversion/include/svn_fs.h

(svn_fs_change_rev_prop2): New, takes OLD_VALUE_P parameter.

(svn_fs_change_rev_prop): Deprecate.

* subversion/libsvn_fs/fs-loader.h

(fs_vtable_t.change_rev_prop):

Add OLD_VALUE_P parameter (as with svn_fs_change_rev_prop2()).

* subversion/libsvn_fs/fs-loader.c

(svn_fs_change_rev_prop2): Pass OLD_VALUE_P to change_rev_prop().

(svn_fs_change_rev_prop): Now a wrapper around svn_fs_change_rev_prop2().

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

(revision_props):

Extend existing test to cover the new API.

* subversion/libsvn_fs_base/revs-txns.c

(svn_fs_base__set_rev_prop): Use OLD_VALUE_P parameter.

(change_rev_prop_args): Add OLD_VALUE_P member.

(txn_body_change_rev_prop): Pass OLD_VALUE_P.

(svn_fs_base__change_rev_prop): Drill OLD_VALUE_P through.

* subversion/libsvn_fs_base/revs-txns.h

(svn_fs_base__set_rev_prop, svn_fs_base__change_rev_prop):

Revv to add OLD_VALUE_P parameter.

* subversion/libsvn_fs_base/dag.c

(txn_body_dag_init_fs, svn_fs_base__dag_commit_txn):

Update calls to svn_fs_base__set_rev_prop().

* subversion/libsvn_fs_fs/fs_fs.c

(change_rev_prop_baton): Add OLD_VALUE_P member.

(change_rev_prop_body): Use OLD_VALUE_P.

(svn_fs_fs__change_rev_prop): Drill OLD_VALUE_P through.

* subversion/libsvn_fs_fs/fs_fs.h

(svn_fs_fs__change_rev_prop): Add OLD_VALUE_P parameter.

  1. … 8 more files in changeset.
Avoid casting away "const" in a few places.

* subversion/include/private/svn_skel.h,

subversion/libsvn_subr/skel.c

(svn_skel__append): Remove "const" from the skel parameter, because, even

though it is not *modified* by this function, it must be *modifiable* in

order to be part of the list. Thus, no longer cast away "const" in the

implementation.

* subversion/libsvn_fs_base/revs-txns.c

(txn_body_cleanup_txn_copy, txn_body_cleanup_txn_changes,

txn_body_delete_txn): Dereference the "baton" parameter instead of

type-casting it to get the desired "const char *" pointer ...

(svn_fs_base__purge_txn): ... and here, in the only caller, take the

address of the "const char *" variable instead of casting away "const"

to convert it to a "void *" baton.

* subversion/libsvn_wc/wc_db.c

(svn_wc__db_read_conflict_victims): Use an intermediate variable to avoid

casting away "const".

* subversion/svn/diff-cmd.c

(summarize_xml, summarize_regular): Dereference the "baton" parameter

instead of type-casting it to get the desired "const char *" pointer ...

(svn_cl__diff): ... and here, in the only caller, take the address of the

"const char *" variable instead of casting away "const" to convert it to

a "void *" baton.

  1. … 4 more files in changeset.
Add "const" to all "apr_array_header_t *" input parameters in public and

private APIs.

(Note that we are allowed to add "const" to a pointer parameter of a public

API, and have done so before, because that is a backward-compatible API

change and doesn't change the ABI at all.)

The public functions whose prototypes are changed are listed individually

below; the private functions are not.

* subversion/include/svn_auth.h

(svn_auth_open)

* subversion/include/svn_client.h

(svn_client_get_commit_log_t,

svn_client_copy5,

svn_client_copy4,

svn_client_move5,

svn_client_patch)

* subversion/include/svn_delta.h

(svn_delta_path_driver,

svn_file_rev_handler_t,

svn_file_rev_handler_old_t)

* subversion/include/svn_fs.h

(svn_fs_change_txn_props)

* subversion/include/svn_mergeinfo.h

(svn_rangelist_diff,

svn_rangelist_merge,

svn_rangelist_remove,

svn_rangelist_intersect,

svn_rangelist_inheritable2,

svn_rangelist_inheritable,

svn_rangelist_dup)

* subversion/include/svn_opt.h

(svn_opt_args_to_target_array3,

svn_opt_args_to_target_array2,

svn_opt_args_to_target_array,

svn_opt_eat_peg_revisions)

* subversion/include/svn_ra.h

(svn_ra_file_rev_handler_t,

svn_ra_get_locations,

svn_ra_plugin_t.get_locations)

* subversion/include/svn_ra_svn.h

(svn_ra_svn_command_handler,

svn_ra_svn_set_capabilities,

svn_ra_svn_parse_tuple,

svn_ra_svn_parse_proplist)

* subversion/include/svn_repos.h

(svn_repos_file_rev_handler_t,

svn_repos_trace_node_locations,

svn_repos_fs_get_mergeinfo,

svn_repos_fs_change_txn_props,

svn_repos_remember_client_capabilities)

* subversion/include/svn_sorts.h

(svn_sort__bsearch_lower_bound)

* subversion/include/svn_string.h

(svn_cstring_match_glob_list)

* subversion/include/svn_wc.h

(svn_wc_get_status_editor3,

svn_wc_get_update_editor4,

svn_wc_get_update_editor3,

svn_wc_get_switch_editor4,

svn_wc_get_switch_editor3,

svn_wc_match_ignore_list)

* subversion/include/private/svn_cmdline_private.h

* subversion/include/private/svn_opt_private.h

* subversion/libsvn_client/blame.c

* subversion/libsvn_client/client.h

* subversion/libsvn_client/commit.c

* subversion/libsvn_client/commit_util.c

* subversion/libsvn_client/copy.c

* subversion/libsvn_client/deprecated.c

* subversion/libsvn_client/merge.c

* subversion/libsvn_client/mergeinfo.c

* subversion/libsvn_client/mergeinfo.h

* subversion/libsvn_client/patch.c

* subversion/libsvn_client/ra.c

* subversion/libsvn_delta/compat.c

* subversion/libsvn_delta/path_driver.c

* subversion/libsvn_fs_base/reps-strings.c

* subversion/libsvn_fs_base/revs-txns.c

* subversion/libsvn_fs_base/revs-txns.h

* subversion/libsvn_fs_fs/fs_fs.c

* subversion/libsvn_fs_fs/fs_fs.h

* subversion/libsvn_fs/fs-loader.c

* subversion/libsvn_fs/fs-loader.h

* subversion/libsvn_ra/compat.c

* subversion/libsvn_ra/ra_loader.c

* subversion/libsvn_ra/ra_loader.h

* subversion/libsvn_ra/wrapper_template.h

* subversion/libsvn_ra_local/ra_plugin.c

* subversion/libsvn_ra_neon/get_locations.c

* subversion/libsvn_ra_neon/props.c

* subversion/libsvn_ra_neon/ra_neon.h

* subversion/libsvn_ra_serf/getlocations.c

* subversion/libsvn_ra_serf/ra_serf.h

* subversion/libsvn_ra_svn/client.c

* subversion/libsvn_ra_svn/cyrus_auth.c

* subversion/libsvn_ra_svn/editorp.c

* subversion/libsvn_ra_svn/internal_auth.c

* subversion/libsvn_ra_svn/marshal.c

* subversion/libsvn_ra_svn/ra_svn.h

* subversion/libsvn_repos/fs-wrap.c

* subversion/libsvn_repos/log.c

* subversion/libsvn_repos/repos.c

* subversion/libsvn_repos/repos.h

* subversion/libsvn_repos/rev_hunt.c

* subversion/libsvn_subr/auth.c

* subversion/libsvn_subr/cmdline.c

* subversion/libsvn_subr/deprecated.c

* subversion/libsvn_subr/mergeinfo.c

* subversion/libsvn_subr/opt.c

* subversion/libsvn_subr/sorts.c

* subversion/libsvn_subr/svn_string.c

* subversion/libsvn_wc/adm_ops.c

* subversion/libsvn_wc/deprecated.c

* subversion/libsvn_wc/diff.c

* subversion/libsvn_wc/status.c

* subversion/libsvn_wc/update_editor.c

* subversion/libsvn_wc/util.c

* subversion/mod_dav_svn/dav_svn.h

* subversion/mod_dav_svn/reports/file-revs.c

* subversion/mod_dav_svn/util.c

* subversion/svn/cl.h

* subversion/svn/props.c

* subversion/svn/switch-cmd.c

* subversion/svn/util.c

* subversion/svndumpfilter/main.c

* subversion/svnserve/serve.c

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

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

  1. … 78 more files in changeset.
Fix up some comments.

* subversion/libsvn_fs_base/dag.c

(svn_fs_base__dag_finalize_edits): Fix typos.

* subversion/libsvn_fs_base/reps-strings.h

(svn_fs_base__get_mutable_rep): Clarify.

* subversion/libsvn_fs_base/revs-txns.c

(get_txn): Correct a mistake.

* subversion/libsvn_fs_base/tree.c

(svn_fs_base__commit_obliteration_txn): Add some useful comments and

remove an obsolete one.

* subversion/libsvn_ra_local/ra_plugin.c

(svn_ra_local__obliterate_path_rev): Add a cross-reference to where the

doc string can be found.

* subversion/libsvn_ra/ra_loader.h

(svn_ra__vtable_t): Add a cross-reference to where the doc string can be

found.

  1. … 5 more files in changeset.
For Obliterate, make a fix to the cloning of the BDB 'changes' table.

* subversion/libsvn_fs_base/revs-txns.c

(changes_dup): Update all references to the current txn: don't assume that

the node-rev id in a 'delete' refers to a different txn, because we find

that some 'delete' rows have a node-rev id referring to their own txn.

For obliterate in BDB, implement updating the "node-origins" table.

* subversion/libsvn_fs_base/bdb/node-origins-table.c,

subversion/libsvn_fs_base/bdb/node-origins-table.h

(svn_fs_bdb__change_node_origin): New function to overwrite an existing

node-origins row.

* subversion/libsvn_fs_base/dag.c

(node_origins_update): New function.

(svn_fs_base__dag_commit_obliteration_txn): Update the "node-origins" table.

* subversion/libsvn_fs_base/revs-txns.c

(txn_body_begin_obliteration_txn): Remove a "TODO" comment about this.

  1. … 3 more files in changeset.
For obliterate in BDB, change the way we update the "copies" table.

Instead of updating it at oblit-begin time, update it at oblit-commit time,

which is not necessarily correct but at least ensures no user-visible

changes are made until oblit-commit time, which is a step closer to

correctness.

* subversion/libsvn_fs_base/revs-txns.c

(copy_dup): Removed.

(txn_body_begin_obliteration_txn): Instead of updating the "copies" table,

just refer to the existing rows in it, even though they do not refer

back to this txn.

* subversion/libsvn_fs_base/dag.c

(svn_fs_base__dag_commit_obliteration_txn): Update the "copies" table to

refer to the new txn.

  1. … 1 more file in changeset.
Fix a doc-string.

* subversion/libsvn_fs_base/revs-txns.c

(changes_dup): In the doc-string, mention the special handling of changes

that are of the "delete" kind.

For obliterate in BDB, partially implement updating the "copies" table.

This creates the required new entries in the "copies" table when a new

obliteration txn is begun, and links them to the new txn, but this is not

sufficient because the new keys into the "copies" table then do not match

the copy-id component of the node-ids involved. This discrepancy needs to be

investigated and resolved.

* subversion/libsvn_fs_base/revs-txns.c

(copy_dup): New function.

(txn_body_begin_obliteration_txn): Call copy_dup(). Add a comment about

issues to be resolved.

Update the BDB "changes" table when starting an obliteration transaction.

This is another step towards implementing "replace an old revision" to be

used for basic obliteration in BDB. The "copies" and "node-origins" tables

are still to do.

* subversion/libsvn_fs_base/revs-txns.c

(changes_dup): New function to make the new "changes" table entries.

(txn_body_begin_obliteration_txn): Call changes_dup().

Update some obliterate TODO comments to indicate that we need to update the

"changes", "copies" and "node-origins" tables when beginning an obliteration

txn, rather than when committing it, because at the very least start-commit

hooks need them.

* subversion/libsvn_fs_base/tree.c

(svn_fs_base__commit_obliteration_txn): Move TODO comments from here...

* subversion/libsvn_fs_base/revs-txns.c

(txn_body_begin_obliteration_txn): ... to here.

  1. … 1 more file in changeset.
Pool usage improvements to recent "obliterate" functions, inspired by

comments from Philip Martin.

* subversion/libsvn_fs_base/obliterate.h

(svn_fs_base__rep_dup): Change the 'pool' argument to a 'scratch_pool', as

the 'trail' argument has a pool that can be used for the results. Remove

the reference to a non-existent 'FS' argument.

(svn_fs_base__node_rev_dup): Remove the 'result_pool' argument and use the

'trail' argument's pool instead. Remove the reference to a non-existent

'FS' argument.

* subversion/libsvn_fs_base/obliterate.c

(svn_fs_base__rep_dup): Adjust pool arguments as above.

Add an iteration pool for the loop. Add comments.

(svn_fs_base__node_rev_dup): Adjust pool arguments as above.

Add an iteration pool for the loop. Add comments.

* subversion/libsvn_fs_base/revs-txns.c

(txn_body_begin_obliteration_txn): Adjust the call to

svn_fs_base__node_rev_dup() accordingly.

  1. … 2 more files in changeset.
In BDB, for obliterate, implement converting a committed transaction to a

mutable txn.

* subversion/libsvn_fs_base/obliterate.c,

subversion/libsvn_fs_base/obliterate.h

New files, with new functions svn_fs_base__rep_dup() and

svn_fs_base__node_rev_dup().

* subversion/libsvn_fs_base/revs-txns.c

(txn_body_begin_obliteration_txn): Make a deep copy of the txn to be

replaced. Add a doc string.

(svn_fs_base__begin_obliteration_txn): Remove the "unsupported" error return.

Add comments.

  1. … 2 more files in changeset.
Rename some "rev" arguments to distinguish what revision they refer to.

A follow-up to r884659.

* subversion/libsvn_fs/fs-loader.h

(fs_vtable_t): In "begin_obliteration_txn", rename "rev" to "replacing_rev"

for clarity.

* subversion/libsvn_fs_base/revs-txns.c

(begin_txn_args): Rename "rev" to "base_rev" for clarity.

(txn_body_begin_txn, svn_fs_base__begin_txn): Adjust accordingly.

(svn_fs_base__begin_obliteration_txn): Rename "rev" to "replacing_rev" for

clarity.

* subversion/libsvn_fs_base/revs-txns.h

(svn_fs_base__begin_obliteration_txn): Rename "rev" to "replacing_rev" for

clarity.

  1. … 2 more files in changeset.
Test out my new and fancy ASF commit priviledges by changing the copyright

wording in our license headers to reflect ownership by the ASF.

* NOTICE:

Change terminology to ASF, and update a link.

* subversion/libsvn_subr/opt.c

(svn_opt__print_version_info): Note that the product as a whole is

copyrighted by the ASF, and update the project website.

* everywhere:

Change license text to reflect ASF ownership.

  1. … 891 more files in changeset.
Scrub trailing whitespace throughout (see r35894).

  1. … 146 more files in changeset.