/[Apache-SVN]
ViewVC logotype

Revision 1424739


Jump to revision: Previous Next
Author: julianfoad
Date: Thu Dec 20 22:37:27 2012 UTC (11 years, 11 months ago)
Changed paths: 11
Log Message:
Teach some WC and client 'add' functions to take the properties as a
parameter so that the whole addition including any properties can be done
all at once.  This makes 'svn add' into a single DB operation per node and
makes the APIs ready for similar usage by code such as merge and patch.

* subversion/libsvn_client/add.c
  (add_file): Simplify greatly by passing the props to svn_wc_add_from_disk()
    instead of adding them one by one afterwards and trying to revert the
    add if that fails. Delegate sending the notification too.
  (add_dir_recursive, add): Track the API changes.

* subversion/libsvn_client/patch.c
  (create_missing_parents,
   install_patched_target,
   install_patched_prop_targets): Track the API changes.

* subversion/include/svn_wc.h
  (svn_wc_add_from_disk2): New revision of svn_wc_add_from_disk(), taking a
    'props' parameter.
  (svn_wc_add_from_disk): Deprecate.

* subversion/libsvn_wc/adm_ops.c
  (add_from_disk): Take a 'props' parameter, pass them on, and install and
    run a work queue item if necessary to set the on-disk executable and
    read-only bits.
  (svn_wc_add4): Track the API changes.
  (svn_wc_add_from_disk2): Rename from 'svn_wc_add_from_disk'. Take a new
    'props' parameter, check and canonicalize the props, and pass them on.
    Adjust the notification to include the value of any mime-type property,
    as that is what libsvn_client used to do.

* subversion/libsvn_wc/deprecated.c
  (svn_wc_add_from_disk): New function, wrapping svn_wc_add_from_disk2().

* subversion/libsvn_wc/props.h
  (svn_wc__canonicalize_props): New function.

* subversion/libsvn_wc/props.c
  (ensure_prop_is_regular_kind, svn_wc__canonicalize_props): New functions.

* subversion/libsvn_wc/wc_db.h,
  subversion/libsvn_wc/wc_db.c
  (svn_wc__db_op_add_directory,
   svn_wc__db_op_add_file,
   svn_wc__db_op_add_symlink): Take a 'props' parameter and pass it on.

* subversion/tests/libsvn_wc/conflict-data-test.c
  (test_read_write_tree_conflicts): Track the API changes.

* subversion/tests/libsvn_wc/utils.c
  (sbox_wc_add): Track the API changes.


Changed paths

Path Details
Directorysubversion/trunk/subversion/include/svn_wc.h modified , text changed
Directorysubversion/trunk/subversion/libsvn_client/add.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_client/patch.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_wc/adm_ops.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_wc/deprecated.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_wc/props.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_wc/props.h modified , text changed
Directorysubversion/trunk/subversion/libsvn_wc/wc_db.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_wc/wc_db.h modified , text changed
Directorysubversion/trunk/subversion/tests/libsvn_wc/conflict-data-test.c modified , text changed
Directorysubversion/trunk/subversion/tests/libsvn_wc/utils.c modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26