Checkout
hwright
committed
on 14 Sep 11
Add a prop fetching callback to the Ev2 shim code. This allows the shim to
retrieve existing props in order to set the new ones.

* subvers… Show more
Add a prop fetching callback to the Ev2 shim code.  This allows the shim to

retrieve existing props in order to set the new ones.

* subversion/libsvn_ra_svn/editorp.c,

 subversion/libsvn_ra_neon/commit.c,

 subversion/svnsync/main.c,

 subversion/svnrdump/dump_editor.c,

 subversion/tests/libsvn_delta/editor-test.c,

 subversion/libsvn_wc/diff_editor.c,

 subversion/libsvn_wc/update_editor.c,

 subversion/libsvn_wc/status.c,

 subversion/libsvn_client/repos_diff.c,

 subversion/libsvn_client/mergeinfo.c,

 subversion/libsvn_client/export.c,

 subversion/libsvn_client/commit.c,

 subversion/libsvn_ra_serf/commit.c,

 subversion/libsvn_repos/commit.c,

 subversion/libsvn_repos/dump.c:

   Update callers.

* subversion/include/svn_delta.h

 (svn_delta_fetch_props_cb_func_t): New.

 (svn_delta_from_editor, svn_editor__insert_shims): Add callback and baton.

* subversion/libsvn_delta/compat.c

 (ev2_edit_baton): Add callback and baton member.

 (action): Add the remove_prop action.

 (ev2_change_dir_prop, ev2_change_file_prop): Differentiate between a changed

   or added prop and a removed one (since we can't store removed props in

   a hash).

 (ev2_close_edit): Handle removed props properly, and fetch the existing

   props to ensure we don't nuke existing properties.

 (svn_delta_from_editor): Take and store the prop fetch callback.

 (svn_editor__insert_shims): Take and use the prop fetch callback.

Show less