Hi,
some time ago I started working om issue 908: Store text-base compressed.
I want to to give you an update on the status.
The short version: I stopped working on this issue.
The long version:
At first I started to apply the existing patch that can be found in this
archives to the current trunk. While some of the code has been changed since
( the patch is two years old ), most of it could be applied very easily and
works fine.
But my own goal was to start over and make a good design, with the focus on
cleaning up the current wc code & to correctly implement the compressed
text-base feature.
A basic solution would be to always use the temp area to compress and
decompress files. For instance with a checkout, that would mean:
1. the file is downloaded in the temp area
2. then compressed to a second temp file
3. then copied to the text-base.
When diffing files, that would be:
1. Decompress the text-base to a temp file.
2. Translate that temp file to another temp file.
3. Diff the second file with the working copy.
While the end goal - compressing the text base - is reached with this basic
solution, the additional overhead of having multiple copies of the same file in
the temp area at checkout, update, commit, diff ... will be very high on disk
and cpu usage.
A better solution would be to integrate translation & compression, and
downloading files and writing to the text-base. The ideal solution then would
require using streams for all wc/adm area file access + all network access.
There's two reasons I won't start to work on this ideal solution:
1. Refactoring existing code is not a job for somebody new to that code
2. An even better solution would be to have no text-base at all, a
feature which is described in Issue 525, and I believe people are already
working on this.
Nevertheless, my time was well spent since I learned a lot about the structure
of the Subversion source code. I'll try and see if I can work on some smaller
more urgent issues.
regards,
Lieven.
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Nov 9 12:32:19 2005