Checkout Tools
  • last updated 5 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates

Changeset 1508225 is being indexed.

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.
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.
Ensure both move source and destination are locked when resolving

conflicts.

* subversion/include/private/svn_wc_private.h

* subversion/libsvn_wc/lock.c

(svn_wc__acquire_write_lock_for_resolve): New.

* subversion/libsvn_client/resolved.c

(svn_client_resolve): Use new lock acquire function.

* subversion/libsvn_wc/wc-queries.sql

(STMT_SELECT_MOVED_OUTSIDE): Select moved_to.

* subversion/libsvn_wc/wc_db.h

(svn_wc__required_lock_for_resolve): New.

* subversion/libsvn_wc/wc_db_update_move.c

(update_moved_away_conflict_victim): Verify that lock is held on

destination.

(svn_wc__db_update_moved_away_conflict_victim): Verify that lock is held

on source.

(required_lock_for_conflict, required_lock_for_resolve,

svn_wc__required_lock_for_resolve): New.

* subversion/tests/libsvn_wc/utils.c

(sbox_wc_resolve): Acquire and release locks.

  1. … 6 more files in changeset.
Deprecate svn_wc_read_kind() to add an additional argument, which makes this

function directly usable to answer the questions 'is there an in-wc node here?'

and 'can I add a new node here?' for libsvn_client.

Currently almost every caller of this function in libsvn_client needs to call

another node function before it can do its actual work, because it misses

essential information.

* subversion/include/svn_wc.h

(svn_wc_read_kind2): New function.

(svn_wc_read_kind): Deprecate function.

* subversion/libsvn_wc/adm_crawler.c

(svn_wc__internal_transmit_prop_deltas): Update caller. Provide proper error

when used on invalid nodes.

* subversion/libsvn_wc/conflicts.c

(generate_propconflict): Update caller. Provide proper error

when used on invalid nodes.

* subversion/libsvn_wc/deprecated.c

(svn_wc_add3): Update caller.

(svn_wc_read_kind): New function.

* subversion/libsvn_wc/diff_local.c

(svn_wc_diff6): Update caller.

* subversion/libsvn_wc/lock.c

(svn_wc_adm_retrieve,

svn_wc_adm_probe_retrieve): Update caller.

* subversion/libsvn_wc/node.c

(svn_wc_read_kind): Rename to ...

(svn_wc_read_kind2): ... this. Add argument and change return type.

* subversion/libsvn_wc/revert.c

(revert_partial): Update caller.

* subversion/libsvn_wc/util.c

(svn_wc__fetch_kind_func): Update caller.

* subversion/libsvn_wc/wc_db.c

(svn_wc__db_read_kind): Handle show_deleted.

* subversion/libsvn_wc/wc_db.h

(svn_wc__db_read_kind): Add show_deleted argument and update

documentation.

  1. … 10 more files in changeset.
Following up on r1412632, fix name of new svn_wc__db_ function and use this

function for all calculations on where to obtain a working copy lock.

* subversion/libsvn_wc/lock.c

(child_is_disjoint): Simplify function by using svn_wc__db_is_switched().

(svn_wc__acquire_write_lock): Use svn_wc__db_is_switched() instead of all

the separate db calls. Remove tests on cases that could never happen since

the switch to a single database per working copy.

* subversion/libsvn_wc/props.c

(svn_wc__internal_get_iprops): Update caller.

* subversion/libsvn_wc/update_editor.c

(svn_wc__check_wc_root): Update caller.

* subversion/libsvn_wc/wc_db.c

(db_is_switched): Return error on 'hidden' nodes, even when they have a

repos_relpath.

(svn_wc_db__is_switched): Rename to...

(svn_wc__db_is_switched): ... this.

* subversion/libsvn_wc/wc_db.h

(svn_wc_db__is_switched): Rename to...

(svn_wc__db_is_switched): ... this.

  1. … 4 more files in changeset.
* subversion/libsvn_wc/lock.c

(svn_wc__internal_check_wc): Don't error out on WCs that now aren't

auto-upgraded anymore. Treat them the same as missing and unsupported

WCs to allow checkout of nested working copies within such WCs.

Fixes the bulk of the test suite failures I introduced in r1404856 if

the tests are run within a 1.7 format working copy.

Disable automatic working copy upgrades. This has been discussed over and

over, with many people in the community indicating they prefer manual upgrades.

For now, this is a hard-coded default. There is no way to enable auto-upgrade.

And unfortunately there is no single knob to globally switch auto-upgrade on

and off in the code. Rather, function parameters have to be tweaked in various

places where a working copy database is opened.

Some parts of the upgrade code were written and tested exclusively for

upgrading from 1.6 and earlier working copy formats to wc-ng, and thus

needed small fixes to allow 'svn upgrade' to run wc-ng -> wn-ng format

bumps without crashing.

* subversion/libsvn_wc/adm_files.c

(svn_wc_create_tmp_file2): Don't auto-upgrade working copies.

* subversion/libsvn_wc/adm_ops.c

(svn_wc_get_pristine_copy_path): Don't auto-upgrade working copies.

* subversion/libsvn_wc/cleanup.c

(svn_wc_cleanup3): Don't auto-upgrade working copies.

* subversion/libsvn_wc/context.c

(svn_wc_context_create): Don't auto-upgrade working copies.

* subversion/libsvn_wc/lock.c

(pool_cleanup_locked, svn_wc_adm_open3, svn_wc_adm_probe_open3,

open_anchor): Don't auto-upgrade working copies.

* subversion/libsvn_wc/upgrade.c

(svn_wc__upgrade_sdb): Initialise *result_format before use if the

working copy is already at format SVN_WC__VERSION to prevent an assertion

during no-op upgrades of wc-ng working copies.

(is_old_wcroot): Remove Subversion version numbers from error messages.

It is now misleading to say that an upgrade is not possible because a

pre-1.7 working copy was found since 'svn upgrade' now runs on any format.

(svn_wc_upgrade): Handle upgrades from wc-ng-style working copies.

Enable auto-upgrade of the db during upgrades from pre-1.7 WCs to avoid

'svn upgrade' advising users to run 'svn upgrade'.

* subversion/libsvn_wc/wc_db.c

(svn_wc__db_bump_format): New helper function for wc-ng -> wc-ng upgrades.

Ensures that the upgrade target is a working copy root, and performs a

format bump of wcroot->sdb, which isn't exposed outside of the wc_db layer.

* subversion/libsvn_wc/wc_db.h

(svn_wc__db_bump_format): Declare.

* subversion/libsvn_wc/wc_db_wcroot.c

(svn_wc__db_pdh_create_wcroot): Properly handle the case where we do not

auto-upgrade and run into a working copy using an older format.

Previously, we ended up asserting in VERIFY_USABLE_WCROOT() somewhere

because no upgrade happened but no error was returned either. Instead,

return an error advising the user to upgrade the working copy.

* subversion/tests/cmdline/upgrade_tests.py

(wc_is_too_old_regex): The error message matched by this regex has changed

in some cases, so adjust the regex accordingly.

(basic_upgrade): Expect slightly different error messages resulting from

above changes. The error code returned is unchanged, however.

(upgrade_tree_conflict_data, upgrade_from_format_28): These tests were

running 'svn status' and 'svn info' to trigger auto-upgrades. Make them

run 'svn upgrade' instead to keep them passing.

  1. … 9 more files in changeset.
Fix / circumvent the last WCNG-related deprecation warnings:

Provide library-internal API variants with the same function

signature as the deprecated API.

Please note that due to the legacy API structure, there is no

acceptable way to prevent the internal use of deprecated API

in the implementation of those legacy API functions.

* subversion/libsvn_wc/lock.h

(svn_wc__adm_access_pool_internal): declare new internal API

* subversion/libsvn_wc/lock.c

(svn_wc__adm_access_pool_internal): implement it

* subversion/libsvn_wc/entries.h

(svn_wc__entries_read_internal): declare new internal API

* subversion/libsvn_wc/entries.c

(svn_wc__entries_read_internal): renamed from svn_wc_entries_read;

use new private API to access adm pool

(svn_wc_entries_read): call the above

(walker_helper): use new internal API

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

(svn_wc_entry): use new internal API

  1. … 4 more files in changeset.
Treat unsupported WC formats as "unknown" rather than raising an error.

Many tests currently fail on the 1.7.x branch if run within a format 30

(i.e. trunk client) working copy. The most prominent failure is an

error from 'svn checkout' which refuses to create a format 29 working

copy within a format 30 one, even though the two working copies are

suposed to be entirely unrelated.

If this patch is applied to 1.7.x, most tests now pass in a format 30

working copy, except for the following:

FAIL: commit_tests.py 26: commit from two working copies

FAIL: special_tests.py 19: operate on symlink to wc

FAIL: special_tests.py 20: svnversion on symlink to wc

FAIL: stat_tests.py 19: status on unversioned dir

* subversion/libsvn_wc/lock.c

(svn_wc__internal_check_wc): If the format isn't supported, just return

a format number of zero, rather than raising an error indicating that

the working copy is not supported.

Avoid looking for a parent working copy when we can just ask the current

working copy if the current path is the root (via +- a hash table lookup).

This avoids problems in 1.7+ similar to those reported in 1.6 as

"/.svn/wc.db: Permission denied" that could be worked around via

SVN_I_LOVE_CORRUPTED_WORKING_COPIES_SO_DISABLE_CHECK_FOR_WC_NG

* subversion/libsvn_wc/lock.c

(svn_wc__acquire_write_lock): Don't check for an anchor if we are already

at the wcroot.

Found by: Roy Mammen <RoyMMammen{_AT_}yahoo.com>

Patch by: me

Make svn_wc__db_read_kind() handle processing 'hidden', just like

svn_wc_read_kind(). This allows making the lock processing to disallow

locking hidden directories, which in turn fixes the

update_with_parents_and_exclude() test.

* subversion/libsvn_wc/adm_crawler.c

(svn_wc__internal_transmit_prop_deltas): Update caller.

* subversion/libsvn_wc/adm_ops.c

(svn_wc__process_committed_internal): Update caller.

* subversion/libsvn_wc/deprecated.c

(svn_wc_add3): Update caller.

* subversion/libsvn_wc/diff_local.c

(svn_wc_diff6): Update caller.

* subversion/libsvn_wc/lock.c

(svn_wc_adm_retrieve,

svn_wc_adm_probe_retrieve): Update caller.

(svn_wc__acquire_write_lock): Update caller. This fixes the update test.

* subversion/libsvn_wc/util.c

(svn_wc__fetch_kind_func): Update caller.

* subversion/libsvn_wc/wc_db.c

(svn_wc__db_read_kind): Add argument and retrieve and process status if hidden

nodes shouldn't show up as files or directories.

* subversion/libsvn_wc/wc_db.h

(svn_wc__db_read_kind): Update prototype and argument documentation.

  1. … 7 more files in changeset.
Indentation fix.

* subversion/libsvn_wc/lock.c

(svn_wc__internal_check_wc): Whitespace changes only.

Followup to r1181800 by removing the svn_wc__db_kind_t type and replacing it

with the now-public svn_kind_t. This just affects the internals of libsvn_wc,

not any of the public, or quasi-public APIs.

* subversion/tests/libsvn_wc/:

s/svn_wc__db_kind_/svn_kind_/

  1. … 31 more files in changeset.
Make svn_wc__db_scan_addition() provide information about the local source

of a move for nodes with a 'moved-here' status.

Some future callers will only want to act on the op-roots involved in

a move, e.g. the commit code detecting whether both halfs of a move

are among the commit targets.

Other future callers might want to act directly on children of the op-roots,

e.g. code performing automatic tree conflict resolution.

So scan_addition() provides both the moved_from abspath and the abspath of

the operation root of the delete-half of the move. This should satisfy

either use case to some degree. It might not be the optimal solution

for all use cases but won't hurt, either.

* subversion/libsvn_wc/wc_db.c

(svn_wc__db_scan_addition, scan_addition): New output parameters

MOVED_FROM_ABSPATH and DELETE_OP_ROOT_ABSPATH.

(get_moved_from_info): New helper function which computes values for

above new output parameters.

(scan_addition_baton_t): Add MOVED_FROM_ABSPATH and DELETE_OP_ROOT_ABSPATH.

(scan_addition_txn): Run get_moved_from_info() for 'moved-here' nodes.

(get_info_for_copy, read_url_txn, svn_wc__db_global_relocate): Update

scan_addition() calls.

* subversion/libsvn_wc/wc_db.h

(svn_wc__db_scan_addition): Update declaration and docstring.

* subversion/libsvn_wc/wc-queries.sql

(STMT_SELECT_MOVED_FROM_RELPATH): New query which selects the 'moved-from'

path corresponding to a 'moved-here' node.

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

(TESTING_DATA): Create another row for the delete-half of a move.

svn_wc__db_scan_addition() now treats a move without a delete-half

as if it was a normal a copy. (We've been recording delete-halfs

since r1151166.)

(test_scan_addition): Check for moved-from information scan_addition()

now returns for 'moved-here' nodes.

The remaining items list updated callers of svn_wc__db_scan_addition().

All of them pass NULL for the new output parameters.

* subversion/libsvn_wc/props.c

(svn_wc__get_pristine_props): Update svn_wc__db_scan_addition() call.

* subversion/libsvn_wc/adm_ops.c

(check_can_add_to_parent): Update svn_wc__db_scan_addition() call.

* subversion/libsvn_wc/adm_crawler.c

(svn_wc_restore, report_revisions_and_depths,

svn_wc_crawl_revisions5): Update svn_wc__db_scan_addition() calls.

* subversion/libsvn_wc/diff_local.c

(file_diff): Update svn_wc__db_scan_addition() call.

* subversion/libsvn_wc/diff_editor.c

(file_diff, report_wc_file_as_added,

close_file): Update svn_wc__db_scan_addition() calls.

* subversion/libsvn_wc/adm_files.c

(svn_wc__internal_ensure_adm): Update svn_wc__db_scan_addition() call.

* subversion/libsvn_wc/update_editor.c

(create_tree_conflict, add_directory,

add_file): Update svn_wc__db_scan_addition() calls.

* subversion/libsvn_wc/info.c

(build_info_for_node): Update svn_wc__db_scan_addition() call.

* subversion/libsvn_wc/copy.c

(copy_or_move): Update svn_wc__db_scan_addition() calls.

* subversion/libsvn_wc/status.c

(get_repos_root_url_relpath): Update svn_wc__db_scan_addition() call.

* subversion/libsvn_wc/lock.c

(child_is_disjoint): Update svn_wc__db_scan_addition() call.

* subversion/libsvn_wc/entries.c

(get_info_for_deleted,

read_one_entry): Update svn_wc__db_scan_addition() calls.

* subversion/libsvn_wc/node.c

(svn_wc__internal_get_repos_info, svn_wc__node_get_repos_relpath,

svn_wc__internal_get_copyfrom_info, svn_wc__internal_get_commit_base_rev,

svn_wc__internal_get_origin): Update svn_wc__db_scan_addition() calls.

  1. … 16 more files in changeset.
Followup to r1140505. Fix indentation.

* [everywhere]: Fix indentation fallout from the

svn_error_return() -> svn_error_trace() rename.

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

  1. … 37 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.
As a follow-up to r1138871, rename status_unauthz again (formerly

status_absent), this time to status_server_excluded.

See for related discussion this post and follow-ups:

From: C. Michael Pilato

To: dev@

Subject: Re: svn commit: r1138871 - in /subversion/trunk/subversion:

include/private/ libsvn_client/ libsvn_wc/ tests/libsvn_wc/

Message-ID: <4E0346D4.4040400@collab.net>

http://svn.haxx.se/dev/archive-2011-06/0727.shtml

Suggested by: julianfoad

(the new name 'server-excluded')

* subversion/include/private/svn_wc_private.h

(svn_wc__node_is_status_unauthz): Rename to...

(svn_wc__node_is_status_server_excluded): ... this, and rename the

'is_unauthz' output parameter to 'is_server_excluded'.

* subversion/tests/libsvn_wc/db-test.c,

subversion/libsvn_wc/props.c,

subversion/libsvn_wc/adm_ops.c,

subversion/libsvn_wc/adm_crawler.c,

subversion/libsvn_wc/conflicts.c,

subversion/libsvn_wc/crop.c,

subversion/libsvn_wc/diff_editor.c

subversion/libsvn_wc/adm_files.c,

subversion/libsvn_wc/update_editor.c,

subversion/libsvn_wc/info.c,

subversion/libsvn_wc/copy.c,

subversion/libsvn_wc/ambient_depth_filter_editor.c,

subversion/libsvn_wc/status.c,

subversion/libsvn_wc/lock.c,

subversion/libsvn_wc/entries.c,

subversion/libsvn_wc/wc_db.c,

subversion/libsvn_wc/wc_db.h,

subversion/libsvn_wc/node.c,

subversion/libsvn_wc/cleanup.c,

subversion/libsvn_wc/workqueue.c,

subversion/libsvn_client/copy.c,

(test_getting_info, validate_node, test_inserting_nodes, test_pdh,

svn_wc__perform_props_merge, svn_wc__get_pristine_props, svn_wc_delete4,

check_can_add_to_parent, revert_restore, report_revisions_and_depths,

recursive_resolve_conflict, crop_children, svn_wc_exclude, svn_wc_crop_tree2,

walk_local_nodes_diff, report_wc_directory_as_added,

svn_wc__text_base_path_to_read, svn_wc__get_pristine_contents,

IS_NODE_PRESENT, check_tree_conflict, delete_entry, absent_node,

svn_wc__check_wc_root, build_info_for_entry, copy_versioned_dir,

svn_wc_copy3, make_file_baton, open_root, delete_entry, open_directory,

get_dir_status, internal_status, svn_wc__internal_check_wc, adm_available,

read_one_entry, write_entry, kind_map, insert_base_node,

add_absent_excluded_not_present_node, svn_wc__db_base_add_absent_node,

db_op_copy, db_op_copy_shadowed_layer, check_replace_txn,

bump_node_revision, bump_revisions_post_update, svn_wc__db_node_hidden,

svn_wc__db_status_t, svn_wc__db_base_add_symlink,

svn_wc__db_op_set_tree_conflict, convert_db_kind_to_node_kind,

walker_helper, svn_wc__internal_walk_children,

svn_wc__node_is_status_absent, svn_wc__internal_node_get_schedule,

svn_wc__check_for_obstructions, repair_timestamps, remove_base_node,

repos_to_wc_copy_locked): Rename things as follows:

status_unauthz -> status_server_excluded; is_unauthz -> is_server_excluded

  1. … 21 more files in changeset.
As part of internal API cleanup, and in the name of code clarity,

rename svn_wc__db_status_absent to svn_wc__db_status_unauthz (not

authorized), because this is what 'absent' really means. Now there

is less potential for confusing 'absent' with 'not-present' and 'excluded'.

Discussed on IRC with Julian and Bert (not on dev@, but I still wanted

to mention that this wasn't just my own idea).

We considered postponing this step to post-1.7 but Bert pointed out

that doing so would unnecessarily make backport merges harder.

But note that this does not rename all occurrences of the term 'absent'

so we'll have to live with historical baggage in some function names,

comments, etc.

Neither does this change the wc.db schema. But I think it would be good

to rename the NODES presence value "absent" to "unauthz" as well in a

separate step (including a format bump).

Suggested by: julianfoad

(the new name 'unauthz')

* subversion/include/private/svn_wc_private.h

(svn_wc__node_is_status_absent): Rename to...

(svn_wc__node_is_status_unauthz): ... this, and rename the 'is_absent'

output parameter to 'is_unauthz'.

* subversion/tests/libsvn_wc/db-test.c,

subversion/libsvn_wc/props.c,

subversion/libsvn_wc/adm_ops.c,

subversion/libsvn_wc/adm_crawler.c,

subversion/libsvn_wc/conflicts.c,

subversion/libsvn_wc/crop.c,

subversion/libsvn_wc/diff_editor.c

subversion/libsvn_wc/adm_files.c,

subversion/libsvn_wc/update_editor.c,

subversion/libsvn_wc/info.c,

subversion/libsvn_wc/copy.c,

subversion/libsvn_wc/ambient_depth_filter_editor.c,

subversion/libsvn_wc/status.c,

subversion/libsvn_wc/lock.c,

subversion/libsvn_wc/entries.c,

subversion/libsvn_wc/wc_db.c,

subversion/libsvn_wc/wc_db.h,

subversion/libsvn_wc/node.c,

subversion/libsvn_wc/cleanup.c,

subversion/libsvn_wc/workqueue.c,

subversion/libsvn_client/copy.c,

(test_getting_info, validate_node, test_inserting_nodes, test_pdh,

svn_wc__perform_props_merge, svn_wc__get_pristine_props, svn_wc_delete4,

check_can_add_to_parent, revert_restore, report_revisions_and_depths,

recursive_resolve_conflict, crop_children, svn_wc_exclude, svn_wc_crop_tree2,

walk_local_nodes_diff, report_wc_directory_as_added,

svn_wc__text_base_path_to_read, svn_wc__get_pristine_contents,

IS_NODE_PRESENT, check_tree_conflict, delete_entry, absent_node,

svn_wc__check_wc_root, build_info_for_entry, copy_versioned_dir,

svn_wc_copy3, make_file_baton, open_root, delete_entry, open_directory,

get_dir_status, internal_status, svn_wc__internal_check_wc, adm_available,

read_one_entry, write_entry, kind_map, insert_base_node,

add_absent_excluded_not_present_node, svn_wc__db_base_add_absent_node,

db_op_copy, db_op_copy_shadowed_layer, check_replace_txn,

bump_node_revision, bump_revisions_post_update, svn_wc__db_node_hidden,

svn_wc__db_status_t, svn_wc__db_base_add_symlink,

svn_wc__db_op_set_tree_conflict, convert_db_kind_to_node_kind,

walker_helper, svn_wc__internal_walk_children,

svn_wc__node_is_status_absent, svn_wc__internal_node_get_schedule,

svn_wc__check_for_obstructions, repair_timestamps, remove_base_node,

repos_to_wc_copy_locked): Rename things as follows:

status_absent -> status_unauthz; is_absent -> is_unauthz

  1. … 21 more files in changeset.
Allow the operation to fetch a workqueue item to mark a previous item

completed. This removes one database transaction for every processed

workqueue item.

* subversion/libsvn_wc/lock.c

(pool_cleanup_locked): Update caller.

* subversion/libsvn_wc/wc_db.c

(wq_fetch_next_baton_t): New struct.

(wq_fetch_next): New function.

(svn_wc__db_wq_fetch): Rename to ...

(svn_wc__db_wq_fetch_next): ... this and call wq_fetch_next,

inside a transaction to fetch and complete items.

(svn_wc__db_wq_completed): Remove function.

* subversion/libsvn_wc/wc_db.h

(svn_wc__db_wq_fetch): Rename to ...

(svn_wc__db_wq_fetch_next): ... this and update documentation.

* subversion/libsvn_wc/workqueue.c

(svn_wc__wq_run): Update caller.

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

(test_work_queue): Update caller.

  1. … 4 more files in changeset.
Remove some ### markers by simple code rearrangement. No functional changes.

* subversion/libsvn_wc/lock.c:

(do_close): needless forward decl removed

(add_to_shared, get_from_shared, close_single): moved further up the

file in order to remove forward declarations.

* subversion/libsvn_wc/workqueue.c:

(dispatch_work_item): needless forward decl removed

(svn_wc__wq_build_file_copy_translated): remove ### comment since we are

already translating to relative paths

  1. … 1 more file in changeset.
* subversion/libsvn_wc/lock.c

(missing): Silence a warning: Constant objects should be initialized.

Add three more arguments to our function with the most arguments. Do this to

allow handling more operations with a single read transaction and to allow

fixing code that should know about multiple WORKING layers.

This patch adds the following three new (optional) boolean output arguments:

had_props - Does it have pristine properties

op_root - Is it a layer defining operation

have_more_work - Does it have multiple working layers

Because I had to update all callers anyway, I moved a few arguments to a more

sensible location. (See the wc_db.h change for more information on that).

This patch just updates the callers to get the same information as before.

No functional changes in any of the callers.

* subversion/libsvn_wc/adm_crawler.c

(svn_wc_restore,

report_revisions_and_depths,

find_base_rev,

svn_wc_crawl_revisions5,

read_and_checksum_pristine_text): Update callers.

* subversion/libsvn_wc/adm_files.c

(svn_wc__text_base_path_to_read,

svn_wc__get_pristine_contents,

svn_wc__internal_ensure_adm): Update callers.

* subversion/libsvn_wc/adm_ops.c

(process_committed_leaf,

svn_wc__process_committed_internal,

svn_wc_delete4,

check_can_add_to_parent,

check_can_add_node,

revert_restore,

new_revert_partial,

svn_wc__internal_remove_from_revision_control,

svn_wc__internal_changelist_match): Update callers.

* subversion/libsvn_wc/ambient_depth_filter_editor.c

(ambient_read_info): Update caller.

* subversion/libsvn_wc/cleanup.c

(repair_timestamps): Update caller.

* subversion/libsvn_wc/conflicts.c

(recursive_resolve_conflict): Update caller.

* subversion/libsvn_wc/copy.c

(copy_pristine_text_if_necessary,

svn_wc_copy3): Update callers.

* subversion/libsvn_wc/crop.c

(crop_children,

svn_wc_exclude,

svn_wc_crop_tree2): Update callers.

* subversion/libsvn_wc/diff.c

(get_nearest_pristine_text_as_file,

file_diff,

report_wc_file_as_added,

report_wc_directory_as_added,

delete_entry,

apply_textdelta,

close_file,

* subversion/libsvn_wc/entries.c

(get_base_info_for_deleted,

read_one_entry,

svn_wc_walk_entries3,

* subversion/libsvn_wc/lock.c

(svn_wc__internal_check_wc,

adm_available,

child_is_disjoint): Update callers.

* subversion/libsvn_wc/node.c

(svn_wc__node_get_repos_info,

svn_wc_read_kind,

svn_wc__node_get_depth,

svn_wc__node_get_changed_info,

svn_wc__node_get_changelist,

svn_wc__node_get_base_checksum,

svn_wc__node_get_translated_size,

svn_wc__node_get_repos_relpath,

svn_wc__internal_get_copyfrom_info,

svn_wc__internal_walk_children,

svn_wc__node_is_status_deleted,

svn_wc__node_is_status_absent,

svn_wc__node_is_status_not_present,

svn_wc__node_is_status_excluded,

svn_wc__node_is_added,

svn_wc__node_get_base_rev,

svn_wc__node_get_working_rev_info,

svn_wc__node_get_commit_base_rev,

svn_wc__internal_node_get_schedule,

svn_wc__node_get_info_bits,

svn_wc__get_mergeinfo_walk_info,

svn_wc__node_depth_is_exclude,

svn_wc__node_get_origin,

svn_wc__node_get_commit_status): Update callers.

* subversion/libsvn_wc/props.c

(svn_wc__get_pristine_props,

svn_wc__internal_propset,

svn_wc__props_modified): Update callers.

* subversion/libsvn_wc/questions.c

(compare_and_verify,

svn_wc__internal_file_modified_p,

svn_wc__internal_conflicted_p,

svn_wc__expand_keywords): Update caller.

* subversion/libsvn_wc/relocate.c

(svn_wc_relocate4): Update callers.

* subversion/libsvn_wc/status.c

(read_info,

internal_status): Update callers. Avoid C++ keyword mutable.

* subversion/libsvn_wc/translate.c

(svn_wc__expand_keywords): Update callers.

* subversion/libsvn_wc/update_editor.c

(already_in_a_tree_conflict,

delete_entry,

add_directory,

open_directory,

add_file,

open_file,

make_editor,

svn_wc__check_wc_root,

svn_wc_add_repos_file4):

* subversion/libsvn_wc/wc_db.c

(read_info): Update argument list of prototype.

(cross_db_copy,

get_info_for_copy,

temp_op_delete_txn): Update callers.

(read_info): Update argument list and calculate new values.

(svn_wc__db_read_info): Update argument list and update caller.

(read_url_txn,

svn_wc__db_global_relocate,

svn_wc__db_node_hidden,

has_switched_subtrees): Update callers.

* subversion/libsvn_wc/wc_db.h

(svn_wc__db_read_info): Update, extend and cleanup documentation. Update argument

list.

* subversion/libsvn_wc/workqueue.c

(remove_base_node,

log_do_committed,

run_file_install): Update callers.

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

(test_working_info,

test_global_relocate): Update callers.

  1. … 21 more files in changeset.
Silence a bunch of deprecation warnings. These are expected, and not going

away anytime soon.

* subversion/libsvn_wc/lock.c:

Define SVN_DEPRECATED prior to any includes.

Fix issue #3843 ("file externals cause non-inheritable mergeinfo") on

trunk. (A fix was already made for the 1.6.x line.)

* subversion/include/private/svn_wc_private.h

(svn_wc__path_switched): Remove as unused.

(svn_wc__get_mergeinfo_walk_info): Add 'is_switched' and

'is_file_external' return parameters.

* subversion/libsvn_wc/lock.c

(svn_wc__path_switched): Remove as unused.

* subversion/libsvn_wc/node.c

(svn_wc__get_mergeinfo_walk_info): Add 'is_switched' and

'is_file_external' return parameters (and do the needful to return

them accurately).

* subversion/libsvn_client/merge.c

(get_mergeinfo_walk_cb): Update call to svn_wc__get_mergeinfo_walk_info(),

losing logic that's now encapsulated in that function and making

use of its is-file-external determination.

* subversion/tests/cmdline/externals_tests.py

(merge_target_with_externals): Drop @XFail() decorator.

  1. … 4 more files in changeset.
Fold a one-line function into its callsites.

* subversion/libsvn_wc/lock.c

(alloc_db): Remove.

(pool_cleanup_locked, svn_wc_adm_open3, open_anchor): Call

svn_wc__db_open() directly.

Remove svn_wc__db_openmode_t and its references. We no longer use it, and

SQLite handles its functionality for us automatically.

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

(create_open): Remove smode param, and don't use it to open the database.

(test_getting_info, test_inserting_nodes, test_children, test_working_info,

test_pdh, test_scan_addition, test_scan_deletion, test_global_relocate,

test_work_queue): Update callers.

* subversion/libsvn_wc/wc_db.h

(svn_wc__db_openmode_t): Remove.

(svn_wc__db_open): Remove openmode_t param, and update docstring.

* subversion/libsvn_wc/wc_db_wcroot.c

(svn_wc__db_open): Remove param, and don't set it in the struct.

* subversion/tests/libsvn_wc/entries-compat.c

(create_open),

* subversion/libsvn_wc/adm_ops.c

(svn_wc_get_pristine_copy_path),

* subversion/libsvn_wc/adm_files.c

(svn_wc_create_tmp_file2),

* subversion/libsvn_wc/context.c

(svn_wc_context_create),

* subversion/libsvn_wc/upgrade.c

(svn_wc_upgrade),

* subversion/libsvn_wc/cleanup.c

(svn_wc_cleanup3),

* subversion/libsvn_wc/lock.c

(alloc_db, svn_wc_adm_probe_open3):

Update callers.

* subversion/libsvn_wc/wc_db_private.h

(svn_wc__db_t): Remove mode member.

  1. … 10 more files in changeset.
Stylistic changes only.

* subversion/libsvn_wc/lock.c:

(svn_wc__acquire_write_lock): add a blank line to separate declarations

from the code. add comments to the params in the obtain() call.

(svn_wc__call_with_write_lock): add blank line between decls and code

* subversion/libsvn_wc/wc_db_private.h:

(...): add a few blank lines

(svn_wc__db_wcroot_t): fix OWNED_LOCKS description

  1. … 1 more file in changeset.
Just padding my stats.

(Actually, doing my regular trailing whitespace removal, similar to r875968.)

* everywhere:

for extsn in c h cpp java py pl rb; do

sed -i -e 's/[ \t]*$//' `find . -name "*.$extsn" | xargs grep '[ \t]$' -l`

done

  1. … 166 more files in changeset.
* subversion/libsvn_wc/lock.c

(open_single): Replace an error report that 'should never be reached' with

an assertion.

Remove obsolete multi-db code.

* subversion/libsvn_wc/lock.c

(svn_wc__internal_check_wc, svn_wc__acquire_write_lock,

svn_wc__release_write_lock): Remove conditional multi-db code.

(adm_available): Remove OBSTRUCTED parameter, remove conditional

multi-db code.

(do_open, open_anchor): Adjust call to adm_available, remove conditional

multi-db code.

(acquire_locks_recursively): Remove.