/[Apache-SVN]
ViewVC logotype

Revision 1654194


Jump to revision: Previous Next
Author: rhuijben
Date: Fri Jan 23 12:58:32 2015 UTC (9 years, 3 months ago)
Changed paths: 4
Log Message:
Simplify the ra_serf proppatch code quite a bit by avoiding the three levels
deep nested generic hash for temporarily recording property changes during
commit processing.

This accidentally hides an issue that Julian is working on (which currently
makes the bots red), but it does this by making serf more like the other ra
layers; not by resolving the actual problem in svnrdump.

* subversion/libsvn_ra_serf/commit.c
  (proppatch_context_t): Use two hashes instead of 4 3-levels-nested hashes.
  (dir_context_t
   file_context_t): Use simplified hash for recording propchanges.
  (walker_baton_t): Remove struct.
  (derive_old_val): Remove function.
  (proppatch_walker): Rename to...
  (write_prop_xml): ... this. Calculate wire property name here.
  (create_proppatch_body): Call write_prop_xml() for all properties
    instead of using the old walker.

  (open_root): Update baton initialization. Simplify initial proppatch.
  (add_directory,
   open_directory): Update baton init.
  (change_dir_prop): Simplify.
  (close_directory): Update caller. No need to pass lock tokens.

  (add_file,
   open_file): Update baton init.
  (change_file_prop): Simplify.
  (close_file): Update caller.

  (svn_ra_serf__change_rev_prop): Use simplified logic.

* subversion/libsvn_ra_serf/property.c
  (svn_ra_serf__set_prop): Remove function.
  (svn_ra_serf__walk_all_props): Rename to...
  (walk_all_props): ... this and make static.
  (svn_ra_serf__select_revprops): Update caller.

* subversion/libsvn_ra_serf/ra_serf.h
  (svn_ra_serf__walk_all_props): Remove function.
  (svn_ra_serf__set_prop): Remove function.

* subversion/tests/cmdline/svnrdump_tests.py
  (load_non_deltas_copy_with_props,
   load_non_deltas_replace_copy_with_props,
   load_non_deltas_with_props): Remove dav specific XFail.


Changed paths

Path Details
Directorysubversion/trunk/subversion/libsvn_ra_serf/commit.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_ra_serf/property.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_ra_serf/ra_serf.h modified , text changed
Directorysubversion/trunk/subversion/tests/cmdline/svnrdump_tests.py modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26