Checkout Tools
  • last updated 6 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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.
Make svnadmin load really atomic by adding option to

svn_fs_commit_txn2 to disable updating 'svn:date' revision property after

committing transaction.

* subversion/include/svn_fs.h

(svn_fs_commit_txn2): New. Revv svn_fs_commit_txn() and add new

SET_TIMESTAMP argument to disable setting 'svn:date' in FS layer.

* subversion/libsvn_fs/fs-loader.h

* subversion/libsvn_fs/fs-loader.c

(svn_fs_commit_txn2): Revv svn_fs_commit_txn() and pass set_timestamp

argument to commit vtable method.

(svn_fs_commit_txn): Call svn_fs_commit_txn2() with SET_TIMESTAMP=TRUE.

* subversion/libsvn_fs_base/dag.h

* subversion/libsvn_fs_base/dag.c

(svn_fs_base__dag_commit_txn): Add SET_TIMESTAMP argument and update

'svn:date' revision property only if SET_TIMESTAMP is non-zero.

* subversion/libsvn_fs_base/tree.c

* subversion/libsvn_fs_base/tree.h

(commit_args): Add SET_TIMESTAMP member.

(txn_body_commit): Pass SET_TIMESTAMP to svn_fs_base__dag_commit_txn().

(svn_fs_base__commit_txn): Add SET_TIMESTAMP argument and store it in

commit baton.

* subversion/libsvn_fs_fs/fs_fs.h

* subversion/libsvn_fs_fs/fs_fs.c

(commit_baton): Add SET_TIMESTAMP member.

(commit_body): Update 'svn:date' revision property only if SET_TIMESTAMP

is non-zero.

(svn_fs_fs__commit): Add SET_TIMESTAMP argument and store it in commit

baton.

* subversion/libsvn_fs_fs/tree.c

* subversion/libsvn_fs_fs/tree.h

(svn_fs_fs__commit_txn): Add SET_TIMESTAMP argument and pass it to

svn_fs_fs__commit().

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

(close_revision): Use svn_fs_commit_txn2() and do not fix-up 'svn:date'

property after commit.

  1. … 11 more files in changeset.
Follow-up to the revert of issue #3669 in r1173425: Revert parts of r1036078

which were not already reverted in r1173425.

* subversion/libsvn_fs/fs-loader.h

(fs_vtable_t): Remove validate_mergeinfo function.

* subversion/libsvn_fs_base/fs.c

(fs_vtable): Remove svn_fs_base__validate_mergeinfo function.

* subversion/libsvn_fs_base/tree.c

(svn_fs_base__validate_mergeinfo): Remove svn_fs_validate_mergeinfo

implementation.

* subversion/libsvn_fs_base/tree.h

(svn_fs_base__validate_mergeinfo): Remove.

* subversion/libsvn_fs_fs/fs.c

(fs_vtable): Remove svn_fs_fs__validate_mergeinfo function.

* subversion/libsvn_fs_fs/tree.c

(svn_fs_fs__validate_mergeinfo): Remove svn_fs_validate_mergeinfo

implementation.

* subversion/libsvn_fs_fs/tree.h

(svn_fs_fs__validate_mergeinfo): Remove.

  1. … 6 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.
Fix a library dependency issue which was causing build failures. (As a

general rule, code inside the FS providers shouldn't call back into

the public FS API.) Sadly, the constraints of our system (namely the

BDB side of things) necessitate code duplication rather than sharing.

* subversion/include/svn_fs.h

(svn_fs_validate_mergeinfo): Switch order of the 'fs' and

'mergeinfo' parameters.

* subversion/libsvn_fs/fs-loader.h

(fs_vtable_t): Add 'validate_mergeinfo' vtable function.

* subversion/libsvn_fs/fs-loader.c

(svn_fs_validate_mergeinfo): Reimplement as a vtable wrapper.

* subversion/libsvn_fs_fs/fs.c

(fs_vtable): Add 'svn_fs_fs__validate_mergeinfo'.

* subversion/libsvn_fs_fs/tree.h

(svn_fs_fs__validate_mergeinfo): New.

* subversion/libsvn_fs_fs/tree.c

(svn_fs_fs__validate_mergeinfo): New, copied and tweaked from what

was fs-loader.c:svn_fs_validate_mergeinfo().

(get_mergeinfo_for_path): Call svn_fs_fs__validate_mergeinfo()

instead of svn_fs_validate_mergeinfo().

* subversion/libsvn_fs_base/fs.c

(fs_vtable): Add 'svn_fs_base__validate_mergeinfo'.

* subversion/libsvn_fs_base/tree.h

(svn_fs_base__validate_mergeinfo): New.

* subversion/libsvn_fs_base/tree.c

(svn_fs_base__validate_mergeinfo): New, copied and tweaked from what

was fs-loader.c:svn_fs_validate_mergeinfo().

(get_mergeinfos_for_paths): Call svn_fs_base__validate_mergeinfo()

instead of svn_fs_validate_mergeinfo().

  1. … 8 more files in changeset.
* subversion/libsvn_fs_base/tree.h

(svn_fs_base__obliterate_rep): New prototype for this experimental function.

Rename some more 'rev' arguments to indicate what they refer to, for

clarity. (The thing is, the "obliterate" functions tend to refer to the

revision being modified, where their non-obliterate equivalents refer to the

previous revision.)

* subversion/libsvn_fs_base/tree.c (svn_fs_base__commit_obliteration_txn),

subversion/libsvn_fs_base/tree.h (svn_fs_base__commit_obliteration_txn),

subversion/libsvn_fs/fs-loader.h (txn_vtable_t.commit_obliteration),

subversion/libsvn_fs_fs/tree.c (svn_fs_fs__commit_obliteration_txn),

subversion/libsvn_fs_fs/tree.h (svn_fs_fs__commit_obliteration_txn):

Rename 'rev' to 'replacing_rev'.

  1. … 4 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.
Add an initial skeleton implementation for "svn obliterate", with the UI

hidden behind #ifdef SVN_WITH_EXPERIMENTAL_OBLITERATE and the API changes

kept private.

* subversion/include/private/svn_client_private.h,

subversion/include/private/svn_repos_private.h,

subversion/libsvn_client/obliterate.c,

subversion/libsvn_repos/obliterate.c,

subversion/svn/obliterate-cmd.c

New files.

* subversion/include/private/svn_fs_private.h

(svn_fs__begin_obliteration_txn, svn_fs__commit_obliteration_txn):

New functions.

* subversion/include/private/svn_ra_private.h

(svn_ra__obliterate):

New functions.

* subversion/libsvn_fs_base/fs.c

(fs_vtable): Add a new entry, "svn_fs_base__begin_obliteration_txn".

* subversion/libsvn_fs_base/revs-txns.c

(txn_vtable): Add a new entry, "svn_fs_base__commit_obliteration_txn".

(txn_body_begin_obliteration_txn, svn_fs_base__begin_obliteration_txn):

New functions.

* subversion/libsvn_fs_base/revs-txns.h

(svn_fs_base__begin_obliteration_txn): New function.

* subversion/libsvn_fs_base/tree.c,

subversion/libsvn_fs_base/tree.h

(svn_fs_base__commit_obliteration_txn): New function.

* subversion/libsvn_fs_fs/fs.c

(fs_vtable): Add a new entry, "svn_fs_fs__begin_obliteration_txn".

* subversion/libsvn_fs_fs/fs_fs.c

(txn_vtable): Add a new entry, "svn_fs_fs__commit_obliteration_txn".

(svn_fs_fs__create_obliteration_txn, commit_obliteration_body,

svn_fs_fs__commit_obliteration, svn_fs_fs__begin_obliteration_txn):

New functions.

* subversion/libsvn_fs_fs/fs_fs.h

(svn_fs_fs__commit_obliteration, svn_fs_fs__begin_obliteration_txn):

New functions.

* subversion/libsvn_fs/fs-loader.c

(svn_fs__begin_obliteration_txn, svn_fs__commit_obliteration_txn):

New functions.

* subversion/libsvn_fs/fs-loader.h

(fs_vtable_t): Add new entries, "begin_obliteration_txn" and

"commit_obliteration".

* subversion/libsvn_fs_fs/tree.c,

subversion/libsvn_fs_fs/tree.h

(svn_fs_fs__commit_obliteration_txn): New function.

* subversion/libsvn_ra_local/ra_plugin.c

(svn_ra_local__obliterate_path_rev): New function.

* subversion/libsvn_ra/ra_loader.c

(svn_ra__obliterate): New function.

* subversion/libsvn_ra/ra_loader.h

(svn_ra__vtable_t): Add a new entry, "obliterate_path_rev".

* subversion/svn/cl.h

(svn_cl__obliterate): Declare.

* subversion/svn/main.c

(svn_cl__cmd_table): Add a new command, "obliterate", hidden behind

"#ifdef SVN_WITH_EXPERIMENTAL_OBLITERATE".

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

(obliterate_1): New test.

(test_funcs): Add the new test, but skipped.

  1. … 24 more files in changeset.
Relicense Subversion under the Apache License, Version 2.0.

* NOTICE: New.

* LICENSE: New.

* COPYING,

subversion/LICENSE: Remove.

* subversion/libsvn_subr/opt.c

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

copyrighted by the SVN Corp, and that it contains contributions from

many people, as referenced in NOTICE.

* subversion/bindings/swig/python/LICENSE_FOR_PYTHON_BINDINGS:

Relicense the SVN parts under Apache 2.0.

* everywhere:

Change copyright notices in file headers to reflect the Apache 2.0 license.

  1. … 882 more files in changeset.
Delete trailing whitespace.

Follow-up to r26317 and r27598.

* build/generator/extractor.py:

* build/generator/gen_vcnet_vcproj.py:

* build/generator/gen_win.py:

* contrib/client-side/svnmerge/svnmerge-migrate-history-remotely.py:

* subversion/bindings/ctypes-python/csvn/repos.py:

* subversion/bindings/ctypes-python/csvn/wc.py:

* subversion/bindings/ctypes-python/examples/mucc.py:

* subversion/bindings/ctypes-python/setup.py:

* subversion/bindings/ctypes-python/test/localrepos.py:

* subversion/bindings/ctypes-python/test/remoterepos.py:

* subversion/bindings/ctypes-python/test/run_all.py:

* subversion/bindings/ctypes-python/test/svntypes.py:

* subversion/bindings/ctypes-python/test/wc.py:

* subversion/bindings/javahl/src/org/tigris/subversion/javahl/Operation.java:

* subversion/include/private/svn_auth_private.h:

* subversion/include/private/svn_sqlite.h:

* subversion/include/private/svn_wc_private.h:

* subversion/include/svn_auth.h:

* subversion/include/svn_checksum.h:

* subversion/include/svn_client.h:

* subversion/include/svn_cmdline.h:

* subversion/include/svn_dirent_uri.h:

* subversion/include/svn_path.h:

* subversion/include/svn_props.h:

* subversion/libsvn_client/commit_util.c:

* subversion/libsvn_client/copy.c:

* subversion/libsvn_client/deprecated.c:

* subversion/libsvn_client/export.c:

* subversion/libsvn_client/externals.c:

* subversion/libsvn_client/info.c:

* subversion/libsvn_client/merge.c:

* subversion/libsvn_client/mergeinfo.h:

* subversion/libsvn_client/ra.c:

* subversion/libsvn_client/repos_diff.c:

* subversion/libsvn_fs_base/bdb/checksum-reps-table.c:

* subversion/libsvn_fs_base/bdb/checksum-reps-table.h:

* subversion/libsvn_fs_base/bdb/miscellaneous-table.c:

* subversion/libsvn_fs_base/bdb/reps-table.c:

* subversion/libsvn_fs_base/dag.c:

* subversion/libsvn_fs_base/dag.h:

* subversion/libsvn_fs_base/err.h:

* subversion/libsvn_fs_base/fs.c:

* subversion/libsvn_fs_base/reps-strings.c:

* subversion/libsvn_fs_base/tree.c:

* subversion/libsvn_fs_base/tree.h:

* subversion/libsvn_fs_base/util/fs_skels.c:

* subversion/libsvn_fs_fs/dag.h:

* subversion/libsvn_fs_fs/fs_fs.h:

* subversion/libsvn_fs/fs-loader.c:

* subversion/libsvn_fs/fs-loader.h:

* subversion/libsvn_fs_fs/rep-cache.c:

* subversion/libsvn_fs_fs/rep-cache.h:

* subversion/libsvn_fs_fs/tree.c:

* subversion/libsvn_ra/compat.c:

* subversion/libsvn_ra_neon/log.c:

* subversion/libsvn_ra_neon/session.c:

* subversion/libsvn_ra_serf/log.c:

* subversion/libsvn_ra_serf/update.c:

* subversion/libsvn_ra_serf/util.c:

* subversion/libsvn_ra_serf/win32_auth_sspi.c:

* subversion/libsvn_repos/hooks.c:

* subversion/libsvn_repos/log.c:

* subversion/libsvn_repos/repos.h:

* subversion/libsvn_subr/checksum.c:

* subversion/libsvn_subr/cmdline.c:

* subversion/libsvn_subr/config_file.c:

* subversion/libsvn_subr/config_win.c:

* subversion/libsvn_subr/dirent_uri.c:

* subversion/libsvn_subr/dso.c:

* subversion/libsvn_subr/io.c:

* subversion/libsvn_subr/nls.c:

* subversion/libsvn_subr/simple_providers.c:

* subversion/libsvn_subr/sqlite.c:

* subversion/libsvn_subr/ssl_client_cert_pw_providers.c:

* subversion/libsvn_subr/stream.c:

* subversion/libsvn_subr/win32_crypto.c:

* subversion/libsvn_wc/adm_ops.c:

* subversion/libsvn_wc/diff.c:

* subversion/libsvn_wc/props.c:

* subversion/libsvn_wc/status.c:

* subversion/libsvn_wc/tree_conflicts.c:

* subversion/libsvn_wc/tree_conflicts.h:

* subversion/libsvn_wc/update_editor.c:

* subversion/libsvn_wc/wc_db.h:

* subversion/svn/cl.h:

* subversion/svndumpfilter/main.c:

* subversion/svnlook/main.c:

* subversion/svn/propedit-cmd.c:

* subversion/svn/propget-cmd.c:

* subversion/svnserve/main.c:

* subversion/svn/status-cmd.c:

* subversion/svn/tree-conflicts.c:

* subversion/svn/util.c:

* subversion/tests/cmdline/commit_tests.py:

* subversion/tests/cmdline/copy_tests.py:

* subversion/tests/cmdline/info_tests.py:

* subversion/tests/cmdline/log_tests.py:

* subversion/tests/cmdline/merge_tests.py:

* subversion/tests/cmdline/prop_tests.py:

* subversion/tests/cmdline/revert_tests.py:

* subversion/tests/cmdline/stat_tests.py:

* subversion/tests/cmdline/svntest/actions.py:

* subversion/tests/cmdline/svntest/tree.py:

* subversion/tests/cmdline/switch_tests.py:

* subversion/tests/cmdline/tree_conflict_tests.py:

* subversion/tests/cmdline/update_tests.py:

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

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

* subversion/tests/libsvn_subr/dirent_uri-test.c:

* subversion/tests/libsvn_subr/path-test.c:

* subversion/tests/libsvn_subr/target-test.c:

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

* tools/examples/svnlook.py: Delete trailing whitespace.

  1. … 112 more files in changeset.
Rename the 'metadata' BDB database to 'miscellaneous' (to preserve the

nanofeature of having all those tables end with 's').

* subversion/libsvn_fs_base/tree.h,

* subversion/libsvn_fs_base/tree.c

Rename a gang of functions and structures, for which all

callers/consumers were updated:

struct metadata_set_args -> struct miscellaneous_set_args

txn_body_metadata_set() -> txn_body_miscellaneous_set

svn_fs_base__metadata_set() -> svn_fs_base__miscellaneous_set

struct metadata_get_args -> struct miscellaneous_get_args

txn_body_metadata_get() -> txn_body_miscellaneous_get

svn_fs_base__metadata_get() -> svn_fs_base__miscellaneous_get

* subversion/libsvn_fs_base/bdb/metadata-table.h,

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

Renamed to...

* subversion/libsvn_fs_base/bdb/miscellaneous-table.h,

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

...this. Also, rename the functions *within* the files (all callers

updated, too):

svn_fs_bdb__open_metadata_table -> svn_fs_bdb__open_miscellaneous_table

svn_fs_bdb__metadata_set -> svn_fs_bdb__miscellaneous_set

svn_fs_bdb__metadata_get -> svn_fs_bdb__miscellaneous_get

* subversion/libsvn_fs_base/notes/structure

Fix the BNF for the 'checksum-reps' table, and add such for the

'miscellaneous' table.

* subversion/libsvn_fs_base/fs.c

(cleanup_fs): Track renames of functions and #defines, and

expect/demand the new database file name.

* subversion/libsvn_fs_base/fs.h

(SVN_FS_BASE__MISCELLANEOUS_FORWARD_DELTA_UPGRADE): Was

SVN_FS_BASE__METADATA_FORWARD_DELTA_UPGRADE.

(base_fs_data_t): Rename 'metadata' variable to 'miscellaneous'.

* subversion/libsvn_fs_base/err.h,

* subversion/libsvn_fs_base/err.c

(svn_fs_base__err_no_such_miscellany): Was

svn_fs_base__err_no_such_metadata, and now returns an error

message that refers to the new table name.

* subversion/include/svn_error_codes.h

(SVN_ERR_FS_NO_SUCH_MISCELLANY): Was SVN_ERR_FS_NO_SUCH_METADATA.

  1. … 11 more files in changeset.
Introduce a generic metadata API inside the Berkeley DB filesystem. We'll use

it in a bit.

* subversion/libsvn_fs_base/tree.c

(metadata_set_args, txn_body_metadata_set, svn_fs_base__metadata_set,

metadata_get_args, txn_body_metadata_get, svn_fs_base__metadata_get): New.

* subversion/libsvn_fs_base/tree.h

(svn_fs_base__metadata_set, svn_fs_base__metadata_get): New.

  1. … 1 more file in changeset.
Replace the SQLite-based implementation of mergeinfo indexing in

libsvn_fs_base with a native Berkeley DB implementation. (Much of

this was inspired by -- if not copied almost wholesale from -- the

FSFS implementation of the same.)

NOTE: While this seems to unbreak the various tests which were

SEGFAULTing due to illegal BDB transaction nesting attempts,

there is one remaining failure here unique to BDB: merge_tests.py 66

* subversion/libsvn_fs_base/revs-txns.h,

* subversion/libsvn_fs_base/revs-txns.c

(svn_fs_base__set_txn_mergeinfo): Removed as unused.

* subversion/libsvn_fs_base/dag.c

(svn_fs_base__dag_commit_txn): Don't do special mergeinfo-y things

here any more.

* subversion/libsvn_fs_base/tree.h

(SVN_FS__PROP_TXN_MERGEINFO): Removed as unused.

* subversion/libsvn_fs_base/tree.c

(parent_path_path): Add docstring.

(parent_path_relpath): New function.

(change_txn_mergeinfo): Removed as unused.

(txn_body_change_node_prop): Don't call change_txn_mergeinfo() any more.

(struct get_mergeinfo_data_and_entries_baton,

struct get_mergeinfo_hash_for_path_baton,

struct get_node_mergeinfo_stats_baton): New baton structures.

(txn_body_get_mergeinfo_data_and_entries, crawl_directory_for_mergeinfo,

append_to_merged_froms, txn_body_get_mergeinfo_hash_for_path,

txn_body_get_node_mergeinfo_stats, get_mergeinfo_hashes_for_paths,

base_get_mergeinfo): New functions.

(root_vtable): Use base_get_mergeinfo() instead of

svn_fs_mergeinfo__get_mergeinfo().

* subversion/libsvn_fs_base/fs.c

(base_create): Stop creating sqlite indexes for BDB repositories.

(base_hotcopy): Stop copying sqlite indexes for BDB repositories.

  1. … 5 more files in changeset.
Rename four symbols that start with SVN_FS_PROP_TXN_ but which are

actually private to the FS libraries to SVN_FS__PROP_TXN_*.

* subversion/libsvn_fs/fs-loader.h

(SVN_FS__PROP_TXN_CHECK_LOCKS,

SVN_FS__PROP_TXN_CHECK_OOD,

SVN_FS__PROP_TXN_CONTAINS_MERGEINFO): Rename from single-_

version.

* subversion/libsvn_fs_base/tree.h

(SVN_FS__PROP_TXN_MERGEINFO): Rename from

SVN_FS_PROP_TXN_MERGEINFO.

* subversion/libsvn_fs_base/dag.c

* subversion/libsvn_fs_base/revs-txns.c

* subversion/libsvn_fs_base/revs-txns.h

* subversion/libsvn_fs_base/tree.c

* subversion/libsvn_fs_fs/fs_fs.c

* subversion/libsvn_fs_fs/tree.c

Adjust.

  1. … 7 more files in changeset.
Nounify mergeinfo.

* subversion/libsvn_fs_base/tree.c,

subversion/libsvn_fs_base/tree.h,

subversion/libsvn_fs_base/revs-txns.c,

subversion/libsvn_fs_util/mergeinfo-sqlite-index.c,

subversion/include/svn_fs.h,

subversion/include/svn_mergeinfo.h,

subversion/include/svn_repos.h,

subversion/include/svn_client.h,

subversion/include/private/svn_fs_mergeinfo.h,

subversion/include/svn_ra.h,

subversion/libsvn_wc/props.c,

subversion/libsvn_client/merge.c,

subversion/libsvn_client/copy.c,

subversion/libsvn_client/mergeinfo.c,

subversion/libsvn_client/mergeinfo.h,

subversion/libsvn_ra_serf/mergeinfo.c,

subversion/libsvn_ra_neon/mergeinfo.c,

subversion/mod_dav_svn/reports/mergeinfo.c,

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

subversion/svn/cl.h,

subversion/svnserve/serve.c,

subversion/libsvn_fs_fs/tree.c:

s/merge info/mergeinfo/

  1. … 21 more files in changeset.
Merge the merge-tracking branch to trunk.

See notes/merge-tracking.txt for work remaining. Copy test #11,

"working-copy to repository copy", is known to be failing over ra_dav.

A fix has been outlined, and it will be coded up ASAP.

  1. … 85 more files in changeset.
Reformat the code to use a consistent no-space-before-param-list-paren style.

See here for the vote that decided this:

http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=111877

From: "Peter N. Lundblad" <peter@famlundblad.se>

To: "Peter N. Lundblad" <peter@famlundblad.se>

cc: dev@subversion.tigris.org

Subject: Results of: [VOTE] New space-before-parens style

Date: Wed, 8 Feb 2006 12:00:35 +0100 (CET)

Message-ID: <Pine.LNX.4.55.0602080918350.10805@localhost.localdomain>

I took the opportunity to make spacing among all parens in SVN_ERR

macro calls consistent. But I did not address consistency of casts,

nor whether a function name should always appear below its return type

in declarations and definitions, nor whether there should be a space

before/after the "*" when declaring pointer return types.

* www/hacking.html

(coding-style): Document that we are no-space-before-paren now.

* everywhere: Reformat.

  1. … 365 more files in changeset.
Merge locking branch to trunk, by comparing trunkURL with branchURL.

This is not a test. This is an actual addition of a very large feature.

This merge passes 'make check' over all three RA implementations.

To see commit logs for this feature, examine /branches/locking, r11749:13570.

  1. … 183 more files in changeset.
Merge the changes from the fs-abstraction branch. This allows the

libsvn_fs_fs filesystem to sit alongside the old BDB filesystem in the

same executable.

  1. … 89 more files in changeset.