/[Apache-SVN]
ViewVC logotype

Revision 1816347


Jump to revision: Previous Next
Author: kotkov
Date: Sat Nov 25 20:16:46 2017 UTC (6 years, 5 months ago)
Changed paths: 3
Log Message:
fsfs: Lay the groundwork for an extended fix for issues #4623 and #4700.

As per r1813898, we now store both the SHA1 and the uniquifier in the
on-disk property representation strings.  The SHA1 value is not required,
but has to be stored due to an existing dependency in the serializer
where the resulting strings can either have both the SHA1 value *and*
the uniquifier, or don't have them at all.

Untie this dependency by introducing a new notation ("-") for such
optional values, which would be supported by the new filesystem format 8.
This would allow us to skip writing SHA1, and only store the uniquifier
in the representation strings for the new formats.

See https://lists.apache.org/thread.html/d282f27c1260c620fe5deb7c9976f4c05bfb34d5156dee1fa6dad644@%3Cdev.subversion.apache.org%3E

* subversion/libsvn_fs_fs/fs.h
  (SVN_FS_FS__MIN_REP_STRING_OPTIONAL_VALUES_FORMAT): New.

* subversion/libsvn_fs_fs/structure
  (Revision file format): Describe the format extension.

* subversion/libsvn_fs_fs/low_level.c
  (format_uniquifier): New helper function, factored out from ...
  (svn_fs_fs__unparse_representation): ...here.  Support the "-"
   notation for the absent SHA1 and uniquifier values in the new format.
   Tweak the code to handle the older formats one by one.  Keep the code
   for the newest format in the end to simplify extending it in the future.
  (svn_fs_fs__parse_representation): Handle the new "-" notation when
   parsing SHA1 and uniquifier values.


Changed paths

Path Details
Directorysubversion/trunk/subversion/libsvn_fs_fs/fs.h modified , text changed
Directorysubversion/trunk/subversion/libsvn_fs_fs/low_level.c modified , text changed
Directorysubversion/trunk/subversion/libsvn_fs_fs/structure modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26