Checkout Tools
  • last updated 4 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
On the inheritable-props branch: Sync with ^/subversion/trunk through

r1394910.

  1. … 143 more files in changeset.
On the inheritable-props branch: Atomically update cached iprops with

work queue items during update/switch editor drives. Remove the temporary

svn_client__update_inheritable_props API.

* subversion/include/private/svn_wc_private.h

(svn_wc__cache_iprops): Deleted, no callers.

(svn_wc__get_update_editor,

svn_wc__get_switch_editor): Add argument

* subversion/libsvn_client/client.h

(svn_client__update_inheritable_props): Delete.

(svn_client__get_inheritable_props): New.

* subversion/libsvn_client/iprops.c

(need_to_cache_iprops): Gracefully handle the case where we ask about a

non-existant path.

(svn_client__update_inheritable_props): Delete.

(svn_client__get_inheritable_props):

* subversion/libsvn_client/switch.c (switch_internal):

* subversion/libsvn_client/update.c (update_internal):

Grab inheritable properties from the repository

for each WC root in the update target and pass these iprops to

svn_wc__get_[update|switch]_editor so it can set the iprops along with

the rest of the columns in the NODES table during the editor drive

callbacks. Also remove the call to the now defunct

svn_client__update_inheritable_props.

* subversion/libsvn_wc/deprecated.c

(svn_wc_get_update_editor4): Update call to svn_wc__get_update_editor.

(svn_wc_get_switch_editor4): Update call to svn_wc__get_switch_editor.

* subversion/libsvn_wc/externals.c

(close_edit): Update call to svn_wc__db_op_bump_revisions_post_update.

* subversion/libsvn_wc/update_editor.c

(edit_baton): Add a new member to stash the set of iprops for all

working copy roots in the update target.

(close_directory): Pass along any iprops to

svn_wc__db_base_add_directory.

(close_edit): Pass along hash of WC root iprops to

svn_wc__db_op_bump_revisions_post_update.

(make_editor,

svn_wc__get_update_editor,

svn_wc__get_switch_editor):

Add new argument corresponding to new edit baton member.

(svn_wc__get_update_editor):

* subversion/libsvn_wc/wc-queries.sql

(STMT_INSERT_NODE): Add inherited props parameter.

(STMT_INSERT_IPROP): Rename to...

(STMT_UPDATE_IPROP): ...this and remove op_depth parameter, op_depth

is always zero for this statement.

* subversion/libsvn_wc/wc_db.c

(insert_base_baton_t): Add a new member to stash base node's iprops.

(insert_base_node): Bind iprops.

(svn_wc__db_base_add_directory): Add new argument corresponding to new

iprops.

(svn_wc__db_cache_iprops): Deleted, no longer used by any callers.

(db_op_set_rev_and_repos_relpath): Renamed to...

(db_op_set_rev_repos_relpath_iprops): ...this. Now handles setting iprops

too.

(bump_node_revision): Add an optional hash of iprops argument from which

to set the node's inherited properties.

(bump_revisions_baton_t): New hash of iprops member.

(bump_revisions_post_update): Pass hash of iprops to bump_node_revision().

(svn_wc__db_op_bump_revisions_post_update): Add an optional hash of iprops

argument from which to set the node's inherited properties.

* subversion/libsvn_wc/wc_db.h

(svn_wc__db_base_add_directory): Add new argument corresponding to new

iprops.

(svn_wc__db_cache_iprops): Deleted, no longer used by any callers.

(svn_wc__db_op_bump_revisions_post_update): Add an optional hash of iprops

argument from which to set the node's inherited properties.

* subversion/tests/libsvn_wc/db-test.c (test_inserting_nodes):

* subversion/tests/libsvn_wc/op-depth-test.c (svn_wc__db_base_add_directory):

Update calls to svn_wc__db_base_add_directory.

  1. … 13 more files in changeset.
On the inheritable-props branch: Sync with ^/subversion/trunk through

r1367696.

  1. … 84 more files in changeset.
On the inheritable-props branch: Sync with ^/subversion/trunk through

r1360860.

  1. … 121 more files in changeset.
On the inheritable-props branch: Sync with ^/subversion/trunk through

r1354004.

  1. … 371 more files in changeset.
On the inheritable-props branch: "Checkpoint" of WC-side inherited property

caching. This is still work-in-progress, notably:

1) The wcng schema changes for caching iprops is still in flux.

2) The new private API svn_client__update_inheritable_props is temporary.

Eventually this logic must be run atomically as a work queue item

in the update/switch editor drive.

* subversion/include/private/svn_wc_private.h

(svn_wc__get_iprops,

svn_wc__cache_iprops,

svn_wc__delete_iprops,

svn_wc__get_cached_iprop_children): New.

* subversion/libsvn_client/client.h

(svn_client__update_inheritable_props): New.

* subversion/libsvn_client/iprops.c:

(need_to_cache_iprops,

svn_client__update_inheritable_props): New.

* subversion/libsvn_client/prop_commands.c

(svn_sorts.h): Include.

(remote_propget): Allow option to get either explicit or inherited props,

or both.

(svn_client_propget5): Enable retrieval of local/cached iprops for WC

targets.

(remote_proplist): Allow option to get either explicit or inherited props,

or both.

(svn_client_proplist4): Enable retrieval of local/cached iprops for WC

targets.

* subversion/libsvn_client/switch.c

(switch_internal): Update inheritable properties cache after a switch.

* subversion/libsvn_client/update.c

(update_internal): Update inheritable properties cache after an update.

* subversion/libsvn_wc/props.c

(filter_unwanted_props,

svn_wc__get_iprops,

svn_wc__cache_iprops,

svn_wc__delete_iprops): New.

* subversion/libsvn_wc/update_editor.c

(svn_wc_is_wc_root2): Do what our doc string promises and consider a

switched file a WC root.

* subversion/libsvn_wc/wc-metadata.sql

(STMT_INHERITABLE_PROPS): New inheritable_props table.

* subversion/libsvn_wc/wc-queries.sql

(STMT_SELECT_IPROPS,

STMT_INSERT_IPROP,

STMT_DELETE_IPROPS_RECURSIVE,

STMT_DELETE_IPROPS,

STMT_SELECT_INODES,

STMT_SELECT_INODES_RECURSIVE): New queries against the inheritable_props

table.

* subversion/libsvn_wc/wc_db.c

(create_db): Create the inheritable_props table.

(db_base_remove,

remove_node_txn): Remove the inheritable_props table.

(svn_wc__db_read_cached_iprops,

get_children_with_cached_iprops,

svn_wc__db_get_children_with_cached_iprops,

svn_wc__db_remove_cached_iprops): New.

* subversion/libsvn_wc/wc_db.h

(svn_wc__db_read_cached_iprops,

svn_wc__db_get_children_with_cached_iprops,

svn_wc__db_cache_iprops,

svn_wc__db_remove_cached_iprops): New.

* subversion/tests/cmdline/merge_tests.py

(merge_to_path_with_switched_children): Tweak merge output to reflect

fix made to svn_wc_is_wc_root2.

  1. … 12 more files in changeset.
On the inheritable-props branch: Sync with ^/subversion/trunk through

r1330574.

  1. … 132 more files in changeset.
On the inheritable-props branch: Sync with ^/subversion/trunk through

r1326830.

  1. … 64 more files in changeset.
On the inheritable-props branch: Sync with ^/subversion/trunk through

r1312075.

  1. … 109 more files in changeset.