[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Compressed Pristines

From: Ashod Nakashian <ashodnakashian_at_yahoo.com>
Date: Mon, 12 Mar 2012 09:41:01 -0700 (PDT)

----- Original Message -----

> From: Hyrum K Wright <hyrum.wright_at_wandisco.com>
> To: Ashod Nakashian <ashodnakashian_at_yahoo.com>
> Cc: Philip Martin <philip.martin_at_wandisco.com>; Greg Stein <gstein_at_gmail.com>; "dev_at_subversion.apache.org" <dev_at_subversion.apache.org>
> Sent: Monday, March 12, 2012 5:31 PM
> Subject: Re: Compressed Pristines
>
> On Mon, Mar 12, 2012 at 7:11 AM, Ashod Nakashian
> <ashodnakashian_at_yahoo.com> wrote:
>> ----- Original Message -----
>>
>>> From: Philip Martin <philip.martin_at_wandisco.com>
>>> To: Ashod Nakashian <ashodnakashian_at_yahoo.com>
>>> Cc: Greg Stein <gstein_at_gmail.com>;
> "dev_at_subversion.apache.org" <dev_at_subversion.apache.org>
>>> Sent: Monday, March 12, 2012 2:40 PM
>>> Subject: Re: Compressed Pristines
>>>
>>> Ashod Nakashian <ashodnakashian_at_yahoo.com> writes:
>>>
>>>>  * Are there any documentation/design/discussions on this feature
> that
>>>>  I could study?
>>>
>>> There has been some discussion in the past on the dev list.  I
> don't
>>> think it is written down anywhere else.
>>>
>>>>  * Who should coordinate and be contacted on decision points?
>>>
>>> The dev list.
>>>
>>>>  * I know this feature was planned for 1.8. Is that still
> reasonable?
>>>>  (I can't find a release date for 1.8) Will 1.8 wait for this
> or has
>>>>  this feature been demoted to a low-priority in general? The reason
> I
>>>>  ask is to have a vague idea as to how close this feature is on the
>>>>  critical path to future releases.
>>>
>>> We don't plan like that.  The features that will go into 1.8 are
> the
>>> features people choose to write.
>>
>> Got it. Thanks.
>>
>> Here is my plan. I'll study whatever discussion took place on dev-list.
> My main technical concern is related to any complications that aren't
> obvious (due to design or requirements elsewhere in svn). I'll come up with
> an architectural overview for the feature design and a breakdown of major
> milestones. When ready, I'll share them on this list and open it for
> discussion. Based on the results, code changes can commence.
>
> A few observations based upon my past poking around this area.
>
> The current implementation of the pristine store is designed to be
> "streamy."  That is, external users aren't supposed to know or
> care
> where the actual contents live, or how they are accessed, but simply
> get a stream from which they can read and write the contents.  In
> principle, this should make compressing said contents relatively easy,
> as we could just insert a compressing stream in this pipeline and
> everything would automagically work.  Since this hasn't yet happened,
> you can probably guess that it isn't as easy as that. :)

Precisely why I have my cautious-hat on. If it were that straightforward, it'd have been long done by now.

>
> The primary issue when I looked at this problem was that the streamy
> abstraction is broken in several places, such as when we install the
> new pristine file.  There are also certain consumers, such as a
> external diff tools, that require an uncompressed on-disk file to
> operate on, and we currently just provide the pristine as that file.
> Compressed pristines would require recreating the uncompressed version
> when such a tool is invoked.  Whether this is a useful tradeoff, I
> don't know.

Great stuff. So this is one area to keep in mind. I'm sure there are others as well.

>
> Generally, though, I'm +1 for compressed pristines, as that was one of
> the design goals of wc-ng in the first place.  (Oh, and extra points
> for selectively compressing pristines based upon mime-type.)

Absolutely.

>
> So start digging in, asking on the dev@ list and #svn-dev on Freenode,
> and sending in patches.  You'll find a community of folks eager for
> your input, and willing to help you.

Great response! Thanks for the boost.

One question: Are there any (serious) technical discussions to point to? I'm scrapping the lists and it's all sad arguments dragging on forever regarding .Net and whatnot. Either tech discussions on this topic are drowned by the flame wars, or my keywords are dumb. Either way, I'll appreciate any pointers.

-Ash

>
> Hope that helps,
> -Hyrum
>
>
> --
>
> uberSVN: Apache Subversion Made Easy
> http://www.uberSVN.com/
>
Received on 2012-03-12 17:41:36 CET

This is an archived mail posted to the Subversion Dev mailing list.