Stefan Sperling wrote on Wed, Jul 06, 2011 at 21:40:00 +0200: > On Wed, Jul 06, 2011 at 02:30:15PM -0500, Hyrum K Wright wrote: > > After a bit of thinking and discussion, Daniel and I have come up with > > what we think is an acceptable solution, and I'm posting it here for > > validation. (Daniel, please correct me if I've gotten something > > wrong.) > > > > Revision properties will *not* be packed in an sqlite database, but > > will instead be packed in a single packfile, much like revision are to > > today. The key difference is that instead of having a separate > > manifest file, the manifest will be prepended to the packfile, meaning > > the two can be atomically replaced in the case of a propedit. > > This solution has at least of couple of advantages: > > * No need to check a separate "edited" file before reading the packfile > > * The repo maintains consistency in the case of a filesystem copy > > (helpful for backups) > > > > Revprops wouldn't be packed until explicitly asked to do so by > > 'svnadmin pack' which means the frequent post-commit revprop editing > > wouldn't pose a performance problem. In addition, the revprop > > packfile manifest information won't be cached, since the manifest may > > change. We don't anticipate this to be a problem, since it only adds > > an extra seek() to the revprop lookup process (rather than the open() > > + seek() in the rev packing world). > > > > Comments? > > Sounds good to me, if this is the last non-trivial change we squeeze > in before release... IIRC this code was initially written within > a couple of days anyway during one of the hackathons in Munich. >
Are you thinking of rep-sharing? Revprop packing is a pquerna patch. > I hope we have good regression tests for revprop packing (I haven't > checked)?