Numbers encoding in FSFS log addressing indexes
From: Ivan Zhakov <ivan_at_visualsvn.com>
Date: Wed, 25 Jun 2014 19:09:45 +0400
Subversion 1.8 and before in general uses human readable decimal
The final index file format is tuned for space and decoding efficiency.
* Unsigned integers are stored in little endian order with a variable
0x00 .. 0x7f -> 0x00 .. 0x7f ( 7 bits stored in 8 bits)
Technically, we can represent integers of arbitrary lengths. Currently,
* Signed integers are mapped onto the unsigned value space as follows:
x >= 0 -> 2 * x
Again, we can represent arbitrary length numbers that way but the code
Most data is unsigned by nature but will be stored differentially using
I'm unhappy with choosen encoding since it's not human readable. Also
I think indexes should use one of the following format:
2. Just store 64-bit numbers as 8-byte in some fixed endianess (little endian
The current encoding is unacceptable, because it makes repository
[1] http://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_fs/structure-indexes
-- Ivan Zhakov CTO | VisualSVN | http://www.visualsvn.comReceived on 2014-06-25 17:10:31 CEST |
This is an archived mail posted to the Subversion Dev mailing list.
This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.