Re: BDB backend in SVN 1.7.1

2011-11-25 Thread Vyacheslav Zholudev

 Old BDB-backed repositories stored the older revision as fulltext and
 newer revisions as deltas.  

Really? Here is a quotation from SVN 1.4.6 libsvn_fs_base/note/structure:
At present, Subversion generally stores
the youngest strings in fulltext form, and older strings as deltas
against them (unless the delta would save no space compared to the
fulltext).

My own experiments with SVN 1.4 code confirm that.



 Repositories created with or 'svnadmin
 upgrade'd by 1.6 and newer reverse this for new revisions of files
 (while making sure not to introduce a dependency loop in the direction
 of deltas).
 
 http://subversion.apache.org/docs/release-notes/1.6#bdb-forward-deltas
 
 On Friday, November 25, 2011 1:08 AM, Vyacheslav Zholudev 
 vyacheslav.zholu...@gmail.com wrote:
 Hi,
 
 how does SVN 1.7.1 store fulltext and deltas in the BDB backend? From some 
 time ago I remember that previous versions of SVN stored almost always a 
 HEAD revision as fulltext, and others as reverse deltas.(except the case 
 when a delta is bigger that fulltext) Was this behavior changed in SVN 1.7? 
 I've looked at the notes about BDB and they don't differ almost at all from 
 SVN 1.4's ones. Of course, I could look into the code more carefully, but my 
 hope was that it wouldn't be a big deal to give me a short answer, if 
 possible.
 
 Thanks in advance!
 
 Best,
 Vyacheslav
 
 
 



Re: BDB backend in SVN 1.7.1

2011-11-25 Thread Daniel Shahaf
Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 11:13:00 +0100:
 
  Old BDB-backed repositories stored the older revision as fulltext and
  newer revisions as deltas.  
 
 Really?

It seems that I should have swapped older and newer in the quoted
sentence.  Thanks for catching that.

 Here is a quotation from SVN 1.4.6 libsvn_fs_base/note/structure:
 At present, Subversion generally stores
 the youngest strings in fulltext form, and older strings as deltas
 against them (unless the delta would save no space compared to the
 fulltext).
 
 My own experiments with SVN 1.4 code confirm that.
 
 
 
  Repositories created with or 'svnadmin
  upgrade'd by 1.6 and newer reverse this for new revisions of files
  (while making sure not to introduce a dependency loop in the direction
  of deltas).
  
  http://subversion.apache.org/docs/release-notes/1.6#bdb-forward-deltas
  
  On Friday, November 25, 2011 1:08 AM, Vyacheslav Zholudev 
  vyacheslav.zholu...@gmail.com wrote:
  Hi,
  
  how does SVN 1.7.1 store fulltext and deltas in the BDB backend? From some 
  time ago I remember that previous versions of SVN stored almost always a 
  HEAD revision as fulltext, and others as reverse deltas.(except the case 
  when a delta is bigger that fulltext) Was this behavior changed in SVN 
  1.7? I've looked at the notes about BDB and they don't differ almost at 
  all from SVN 1.4's ones. Of course, I could look into the code more 
  carefully, but my hope was that it wouldn't be a big deal to give me a 
  short answer, if possible.
  
  Thanks in advance!
  
  Best,
  Vyacheslav
  
  
  
 


Re: BDB backend in SVN 1.7.1

2011-11-25 Thread Vyacheslav Zholudev
Hi Daniel,

would it be easy to change the code (I want to do it for my experiments) so 
that the HEAD (youngest) revisions are stored as fulltexts? Or is it something 
that was not foreseen by design to easily switch between approaches of 
representing history information?

Thanks,
Vyacheslav

On Nov 25, 2011, at 11:59 AM, Daniel Shahaf wrote:

 Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 11:13:00 +0100:
 
 Old BDB-backed repositories stored the older revision as fulltext and
 newer revisions as deltas.  
 
 Really?
 
 It seems that I should have swapped older and newer in the quoted
 sentence.  Thanks for catching that.
 
 Here is a quotation from SVN 1.4.6 libsvn_fs_base/note/structure:
 At present, Subversion generally stores
 the youngest strings in fulltext form, and older strings as deltas
 against them (unless the delta would save no space compared to the
 fulltext).
 
 My own experiments with SVN 1.4 code confirm that.
 
 
 
 Repositories created with or 'svnadmin
 upgrade'd by 1.6 and newer reverse this for new revisions of files
 (while making sure not to introduce a dependency loop in the direction
 of deltas).
 
 http://subversion.apache.org/docs/release-notes/1.6#bdb-forward-deltas
 
 On Friday, November 25, 2011 1:08 AM, Vyacheslav Zholudev 
 vyacheslav.zholu...@gmail.com wrote:
 Hi,
 
 how does SVN 1.7.1 store fulltext and deltas in the BDB backend? From some 
 time ago I remember that previous versions of SVN stored almost always a 
 HEAD revision as fulltext, and others as reverse deltas.(except the case 
 when a delta is bigger that fulltext) Was this behavior changed in SVN 
 1.7? I've looked at the notes about BDB and they don't differ almost at 
 all from SVN 1.4's ones. Of course, I could look into the code more 
 carefully, but my hope was that it wouldn't be a big deal to give me a 
 short answer, if possible.
 
 Thanks in advance!
 
 Best,
 Vyacheslav
 
 
 
 



Re: BDB backend in SVN 1.7.1

2011-11-25 Thread Daniel Shahaf
Change SVN_FS_BASE__MIN_FORWARD_DELTAS_FORMAT to be larger than
SVN_FS_BASE__FORMAT_NUMBER.

Whether repositories created by an svn patched in this way will be
interoperable with repositories created by an unpatched svn is
LAAEFTR'd.  I'd be cautious and change db/fs-type or db/format.

Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 12:04:22 +0100:
 Hi Daniel,
 
 would it be easy to change the code (I want to do it for my experiments) so 
 that the HEAD (youngest) revisions are stored as fulltexts? Or is it 
 something that was not foreseen by design to easily switch between approaches 
 of representing history information?
 
 Thanks,
 Vyacheslav
 
 On Nov 25, 2011, at 11:59 AM, Daniel Shahaf wrote:
 
  Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 11:13:00 +0100:
  
  Old BDB-backed repositories stored the older revision as fulltext and
  newer revisions as deltas.  
  
  Really?
  
  It seems that I should have swapped older and newer in the quoted
  sentence.  Thanks for catching that.
  
  Here is a quotation from SVN 1.4.6 libsvn_fs_base/note/structure:
  At present, Subversion generally stores
  the youngest strings in fulltext form, and older strings as deltas
  against them (unless the delta would save no space compared to the
  fulltext).
  
  My own experiments with SVN 1.4 code confirm that.
  
  
  
  Repositories created with or 'svnadmin
  upgrade'd by 1.6 and newer reverse this for new revisions of files
  (while making sure not to introduce a dependency loop in the direction
  of deltas).
  
  http://subversion.apache.org/docs/release-notes/1.6#bdb-forward-deltas
  
  On Friday, November 25, 2011 1:08 AM, Vyacheslav Zholudev 
  vyacheslav.zholu...@gmail.com wrote:
  Hi,
  
  how does SVN 1.7.1 store fulltext and deltas in the BDB backend? From 
  some time ago I remember that previous versions of SVN stored almost 
  always a HEAD revision as fulltext, and others as reverse deltas.(except 
  the case when a delta is bigger that fulltext) Was this behavior changed 
  in SVN 1.7? I've looked at the notes about BDB and they don't differ 
  almost at all from SVN 1.4's ones. Of course, I could look into the code 
  more carefully, but my hope was that it wouldn't be a big deal to give 
  me a short answer, if possible.
  
  Thanks in advance!
  
  Best,
  Vyacheslav
  
  
  
  
 


Re: BDB backend in SVN 1.7.1

2011-11-25 Thread Vyacheslav Zholudev
Thanks, Daniel. That's the pointer I needed.
However, I didn't understand what LAAEFTR means.

Vyacheslav


On Nov 25, 2011, at 12:17 PM, Daniel Shahaf wrote:

 Change SVN_FS_BASE__MIN_FORWARD_DELTAS_FORMAT to be larger than
 SVN_FS_BASE__FORMAT_NUMBER.
 
 Whether repositories created by an svn patched in this way will be
 interoperable with repositories created by an unpatched svn is
 LAAEFTR'd.  I'd be cautious and change db/fs-type or db/format.
 
 Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 12:04:22 +0100:
 Hi Daniel,
 
 would it be easy to change the code (I want to do it for my experiments) so 
 that the HEAD (youngest) revisions are stored as fulltexts? Or is it 
 something that was not foreseen by design to easily switch between 
 approaches of representing history information?
 
 Thanks,
 Vyacheslav
 
 On Nov 25, 2011, at 11:59 AM, Daniel Shahaf wrote:
 
 Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 11:13:00 +0100:
 
 Old BDB-backed repositories stored the older revision as fulltext and
 newer revisions as deltas.  
 
 Really?
 
 It seems that I should have swapped older and newer in the quoted
 sentence.  Thanks for catching that.
 
 Here is a quotation from SVN 1.4.6 libsvn_fs_base/note/structure:
 At present, Subversion generally stores
 the youngest strings in fulltext form, and older strings as deltas
 against them (unless the delta would save no space compared to the
 fulltext).
 
 My own experiments with SVN 1.4 code confirm that.
 
 
 
 Repositories created with or 'svnadmin
 upgrade'd by 1.6 and newer reverse this for new revisions of files
 (while making sure not to introduce a dependency loop in the direction
 of deltas).
 
 http://subversion.apache.org/docs/release-notes/1.6#bdb-forward-deltas
 
 On Friday, November 25, 2011 1:08 AM, Vyacheslav Zholudev 
 vyacheslav.zholu...@gmail.com wrote:
 Hi,
 
 how does SVN 1.7.1 store fulltext and deltas in the BDB backend? From 
 some time ago I remember that previous versions of SVN stored almost 
 always a HEAD revision as fulltext, and others as reverse deltas.(except 
 the case when a delta is bigger that fulltext) Was this behavior changed 
 in SVN 1.7? I've looked at the notes about BDB and they don't differ 
 almost at all from SVN 1.4's ones. Of course, I could look into the code 
 more carefully, but my hope was that it wouldn't be a big deal to give 
 me a short answer, if possible.
 
 Thanks in advance!
 
 Best,
 Vyacheslav
 
 
 
 
 



Re: BDB backend in SVN 1.7.1

2011-11-25 Thread Daniel Shahaf
left as an exercise for the reader --- in other words, I was
identifying a potential issue and letting the audience figure out the
solution for themselves.  It's a standard idiom in math textbooks...

(and, of course, if you have questions about that interoperability
issue, feel free to raise them on this list.)

Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 13:07:52 +0100:
 Thanks, Daniel. That's the pointer I needed.
 However, I didn't understand what LAAEFTR means.
 
 Vyacheslav
 
 
 On Nov 25, 2011, at 12:17 PM, Daniel Shahaf wrote:
 
  Change SVN_FS_BASE__MIN_FORWARD_DELTAS_FORMAT to be larger than
  SVN_FS_BASE__FORMAT_NUMBER.
  
  Whether repositories created by an svn patched in this way will be
  interoperable with repositories created by an unpatched svn is
  LAAEFTR'd.  I'd be cautious and change db/fs-type or db/format.
  
  Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 12:04:22 +0100:
  Hi Daniel,
  
  would it be easy to change the code (I want to do it for my experiments) 
  so that the HEAD (youngest) revisions are stored as fulltexts? Or is it 
  something that was not foreseen by design to easily switch between 
  approaches of representing history information?
  
  Thanks,
  Vyacheslav
  
  On Nov 25, 2011, at 11:59 AM, Daniel Shahaf wrote:
  
  Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 11:13:00 +0100:
  
  Old BDB-backed repositories stored the older revision as fulltext and
  newer revisions as deltas.  
  
  Really?
  
  It seems that I should have swapped older and newer in the quoted
  sentence.  Thanks for catching that.
  
  Here is a quotation from SVN 1.4.6 libsvn_fs_base/note/structure:
  At present, Subversion generally stores
  the youngest strings in fulltext form, and older strings as deltas
  against them (unless the delta would save no space compared to the
  fulltext).
  
  My own experiments with SVN 1.4 code confirm that.
  
  
  
  Repositories created with or 'svnadmin
  upgrade'd by 1.6 and newer reverse this for new revisions of files
  (while making sure not to introduce a dependency loop in the direction
  of deltas).
  
  http://subversion.apache.org/docs/release-notes/1.6#bdb-forward-deltas
  
  On Friday, November 25, 2011 1:08 AM, Vyacheslav Zholudev 
  vyacheslav.zholu...@gmail.com wrote:
  Hi,
  
  how does SVN 1.7.1 store fulltext and deltas in the BDB backend? From 
  some time ago I remember that previous versions of SVN stored almost 
  always a HEAD revision as fulltext, and others as reverse 
  deltas.(except the case when a delta is bigger that fulltext) Was this 
  behavior changed in SVN 1.7? I've looked at the notes about BDB and 
  they don't differ almost at all from SVN 1.4's ones. Of course, I 
  could look into the code more carefully, but my hope was that it 
  wouldn't be a big deal to give me a short answer, if possible.
  
  Thanks in advance!
  
  Best,
  Vyacheslav
  
  
  
  
  
 


Re: BDB backend in SVN 1.7.1

2011-11-25 Thread Vyacheslav Zholudev
Thanks, I studied math not in English, that's why I didn't know :)

I made a simple tests and it seems to work nicely. However, I'm not sure 
whether it will work with more complicated cases like copying, deleting, etc.


Vyacheslav 

On Nov 25, 2011, at 1:15 PM, Daniel Shahaf wrote:

 left as an exercise for the reader --- in other words, I was
 identifying a potential issue and letting the audience figure out the
 solution for themselves.  It's a standard idiom in math textbooks...
 
 (and, of course, if you have questions about that interoperability
 issue, feel free to raise them on this list.)
 
 Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 13:07:52 +0100:
 Thanks, Daniel. That's the pointer I needed.
 However, I didn't understand what LAAEFTR means.
 
 Vyacheslav
 
 
 On Nov 25, 2011, at 12:17 PM, Daniel Shahaf wrote:
 
 Change SVN_FS_BASE__MIN_FORWARD_DELTAS_FORMAT to be larger than
 SVN_FS_BASE__FORMAT_NUMBER.
 
 Whether repositories created by an svn patched in this way will be
 interoperable with repositories created by an unpatched svn is
 LAAEFTR'd.  I'd be cautious and change db/fs-type or db/format.
 
 Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 12:04:22 +0100:
 Hi Daniel,
 
 would it be easy to change the code (I want to do it for my experiments) 
 so that the HEAD (youngest) revisions are stored as fulltexts? Or is it 
 something that was not foreseen by design to easily switch between 
 approaches of representing history information?
 
 Thanks,
 Vyacheslav
 
 On Nov 25, 2011, at 11:59 AM, Daniel Shahaf wrote:
 
 Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 11:13:00 +0100:
 
 Old BDB-backed repositories stored the older revision as fulltext and
 newer revisions as deltas.  
 
 Really?
 
 It seems that I should have swapped older and newer in the quoted
 sentence.  Thanks for catching that.
 
 Here is a quotation from SVN 1.4.6 libsvn_fs_base/note/structure:
 At present, Subversion generally stores
 the youngest strings in fulltext form, and older strings as deltas
 against them (unless the delta would save no space compared to the
 fulltext).
 
 My own experiments with SVN 1.4 code confirm that.
 
 
 
 Repositories created with or 'svnadmin
 upgrade'd by 1.6 and newer reverse this for new revisions of files
 (while making sure not to introduce a dependency loop in the direction
 of deltas).
 
 http://subversion.apache.org/docs/release-notes/1.6#bdb-forward-deltas
 
 On Friday, November 25, 2011 1:08 AM, Vyacheslav Zholudev 
 vyacheslav.zholu...@gmail.com wrote:
 Hi,
 
 how does SVN 1.7.1 store fulltext and deltas in the BDB backend? From 
 some time ago I remember that previous versions of SVN stored almost 
 always a HEAD revision as fulltext, and others as reverse 
 deltas.(except the case when a delta is bigger that fulltext) Was this 
 behavior changed in SVN 1.7? I've looked at the notes about BDB and 
 they don't differ almost at all from SVN 1.4's ones. Of course, I 
 could look into the code more carefully, but my hope was that it 
 wouldn't be a big deal to give me a short answer, if possible.
 
 Thanks in advance!
 
 Best,
 Vyacheslav
 
 
 
 
 
 



Re: BDB backend in SVN 1.7.1

2011-11-25 Thread Daniel Shahaf
To clarify, the issues I was concerned about weren't with tree changes
(the level of the code dealing with content reps isn't aware of those),
but with creating/accessing a single repository sometimes via
unmodified svn 1.7.1 libraries and sometimes via forward-delta-patched
libraries.

The part I left to the readers was determining whther or not Badness
will happen in the event of such mixed access.

Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 13:20:55 +0100:
 Thanks, I studied math not in English, that's why I didn't know :)
 
 I made a simple tests and it seems to work nicely. However, I'm not sure 
 whether it will work with more complicated cases like copying, deleting, etc.
 
 
 Vyacheslav 
 
 On Nov 25, 2011, at 1:15 PM, Daniel Shahaf wrote:
 
  left as an exercise for the reader --- in other words, I was
  identifying a potential issue and letting the audience figure out the
  solution for themselves.  It's a standard idiom in math textbooks...
  
  (and, of course, if you have questions about that interoperability
  issue, feel free to raise them on this list.)
  
  Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 13:07:52 +0100:
  Thanks, Daniel. That's the pointer I needed.
  However, I didn't understand what LAAEFTR means.
  
  Vyacheslav
  
  
  On Nov 25, 2011, at 12:17 PM, Daniel Shahaf wrote:
  
  Change SVN_FS_BASE__MIN_FORWARD_DELTAS_FORMAT to be larger than
  SVN_FS_BASE__FORMAT_NUMBER.
  
  Whether repositories created by an svn patched in this way will be
  interoperable with repositories created by an unpatched svn is
  LAAEFTR'd.  I'd be cautious and change db/fs-type or db/format.
  
  Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 12:04:22 +0100:
  Hi Daniel,
  
  would it be easy to change the code (I want to do it for my experiments) 
  so that the HEAD (youngest) revisions are stored as fulltexts? Or is it 
  something that was not foreseen by design to easily switch between 
  approaches of representing history information?
  
  Thanks,
  Vyacheslav
  
  On Nov 25, 2011, at 11:59 AM, Daniel Shahaf wrote:
  
  Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 11:13:00 +0100:
  
  Old BDB-backed repositories stored the older revision as fulltext and
  newer revisions as deltas.  
  
  Really?
  
  It seems that I should have swapped older and newer in the quoted
  sentence.  Thanks for catching that.
  
  Here is a quotation from SVN 1.4.6 libsvn_fs_base/note/structure:
  At present, Subversion generally stores
  the youngest strings in fulltext form, and older strings as deltas
  against them (unless the delta would save no space compared to the
  fulltext).
  
  My own experiments with SVN 1.4 code confirm that.
  
  
  
  Repositories created with or 'svnadmin
  upgrade'd by 1.6 and newer reverse this for new revisions of files
  (while making sure not to introduce a dependency loop in the direction
  of deltas).
  
  http://subversion.apache.org/docs/release-notes/1.6#bdb-forward-deltas
  
  On Friday, November 25, 2011 1:08 AM, Vyacheslav Zholudev 
  vyacheslav.zholu...@gmail.com wrote:
  Hi,
  
  how does SVN 1.7.1 store fulltext and deltas in the BDB backend? 
  From some time ago I remember that previous versions of SVN stored 
  almost always a HEAD revision as fulltext, and others as reverse 
  deltas.(except the case when a delta is bigger that fulltext) Was 
  this behavior changed in SVN 1.7? I've looked at the notes about BDB 
  and they don't differ almost at all from SVN 1.4's ones. Of course, 
  I could look into the code more carefully, but my hope was that it 
  wouldn't be a big deal to give me a short answer, if possible.
  
  Thanks in advance!
  
  Best,
  Vyacheslav
  
  
  
  
  
  
 


Re: BDB backend in SVN 1.7.1

2011-11-25 Thread Vyacheslav Zholudev
I guess badness can happen only when accessing repositories locally (not via 
svn:// or http(s)://) with patched and not patched SVN. 
But usually only one version of SVN is installed on the server side, so that 
should not be a big problem.

However, it's a nice exercise to check.

Vyacheslav

 
On Nov 25, 2011, at 1:29 PM, Daniel Shahaf wrote:

 To clarify, the issues I was concerned about weren't with tree changes
 (the level of the code dealing with content reps isn't aware of those),
 but with creating/accessing a single repository sometimes via
 unmodified svn 1.7.1 libraries and sometimes via forward-delta-patched
 libraries.
 
 The part I left to the readers was determining whther or not Badness
 will happen in the event of such mixed access.
 
 Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 13:20:55 +0100:
 Thanks, I studied math not in English, that's why I didn't know :)
 
 I made a simple tests and it seems to work nicely. However, I'm not sure 
 whether it will work with more complicated cases like copying, deleting, etc.
 
 
 Vyacheslav 
 
 On Nov 25, 2011, at 1:15 PM, Daniel Shahaf wrote:
 
 left as an exercise for the reader --- in other words, I was
 identifying a potential issue and letting the audience figure out the
 solution for themselves.  It's a standard idiom in math textbooks...
 
 (and, of course, if you have questions about that interoperability
 issue, feel free to raise them on this list.)
 
 Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 13:07:52 +0100:
 Thanks, Daniel. That's the pointer I needed.
 However, I didn't understand what LAAEFTR means.
 
 Vyacheslav
 
 
 On Nov 25, 2011, at 12:17 PM, Daniel Shahaf wrote:
 
 Change SVN_FS_BASE__MIN_FORWARD_DELTAS_FORMAT to be larger than
 SVN_FS_BASE__FORMAT_NUMBER.
 
 Whether repositories created by an svn patched in this way will be
 interoperable with repositories created by an unpatched svn is
 LAAEFTR'd.  I'd be cautious and change db/fs-type or db/format.
 
 Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 12:04:22 +0100:
 Hi Daniel,
 
 would it be easy to change the code (I want to do it for my experiments) 
 so that the HEAD (youngest) revisions are stored as fulltexts? Or is it 
 something that was not foreseen by design to easily switch between 
 approaches of representing history information?
 
 Thanks,
 Vyacheslav
 
 On Nov 25, 2011, at 11:59 AM, Daniel Shahaf wrote:
 
 Vyacheslav Zholudev wrote on Fri, Nov 25, 2011 at 11:13:00 +0100:
 
 Old BDB-backed repositories stored the older revision as fulltext and
 newer revisions as deltas.  
 
 Really?
 
 It seems that I should have swapped older and newer in the quoted
 sentence.  Thanks for catching that.
 
 Here is a quotation from SVN 1.4.6 libsvn_fs_base/note/structure:
 At present, Subversion generally stores
 the youngest strings in fulltext form, and older strings as deltas
 against them (unless the delta would save no space compared to the
 fulltext).
 
 My own experiments with SVN 1.4 code confirm that.
 
 
 
 Repositories created with or 'svnadmin
 upgrade'd by 1.6 and newer reverse this for new revisions of files
 (while making sure not to introduce a dependency loop in the direction
 of deltas).
 
 http://subversion.apache.org/docs/release-notes/1.6#bdb-forward-deltas
 
 On Friday, November 25, 2011 1:08 AM, Vyacheslav Zholudev 
 vyacheslav.zholu...@gmail.com wrote:
 Hi,
 
 how does SVN 1.7.1 store fulltext and deltas in the BDB backend? 
 From some time ago I remember that previous versions of SVN stored 
 almost always a HEAD revision as fulltext, and others as reverse 
 deltas.(except the case when a delta is bigger that fulltext) Was 
 this behavior changed in SVN 1.7? I've looked at the notes about BDB 
 and they don't differ almost at all from SVN 1.4's ones. Of course, 
 I could look into the code more carefully, but my hope was that it 
 wouldn't be a big deal to give me a short answer, if possible.
 
 Thanks in advance!
 
 Best,
 Vyacheslav
 
 
 
 
 
 
 



Re: BDB backend in SVN 1.7.1

2011-11-25 Thread Stefan Sperling
On Fri, Nov 25, 2011 at 01:38:44PM +0100, Vyacheslav Zholudev wrote:
 I guess badness can happen only when accessing repositories locally (not 
 via svn:// or http(s)://) with patched and not patched SVN. 
 But usually only one version of SVN is installed on the server side, so that 
 should not be a big problem.
 
 However, it's a nice exercise to check.

Out of curiosity, what is the reason for this entire exercise?
Is it purely academic or is there a use case where storing the HEAD
revision as full-text is critical?


Re: BDB backend in SVN 1.7.1

2011-11-25 Thread Vyacheslav Zholudev

On Nov 25, 2011, at 2:02 PM, Stefan Sperling wrote:

 On Fri, Nov 25, 2011 at 01:38:44PM +0100, Vyacheslav Zholudev wrote:
 I guess badness can happen only when accessing repositories locally (not 
 via svn:// or http(s)://) with patched and not patched SVN. 
 But usually only one version of SVN is installed on the server side, so that 
 should not be a big problem.
 
 However, it's a nice exercise to check.
 
 Out of curiosity, what is the reason for this entire exercise?
 Is it purely academic or is there a use case where storing the HEAD
 revision as full-text is critical?

The reason for this is that I had a project based on SVN 1.4 which stored HEAD 
revisions of XML files in Berkeley DB XML - a native XML database-, instead of 
BDB. (reverted deltas as well as normal files kept on living in BDB). In this 
way I could also query HEAD XML files directly from SVN repository and access 
them via BDB XML API - thus it was a nice combination of SVN and XML-database. 
Recently I've ported my project to SVN 1.7 and due to forward deltas it didn't 
work as before -- only old revisions of XML files were in BDB XML. But now I 
changed SVN_FS_BASE__MIN_FORWARD_DELTAS_FORMAT to a higher number, and my 
project works again as expected. 

Vyacheslav

BDB backend in SVN 1.7.1

2011-11-24 Thread Vyacheslav Zholudev
Hi,

how does SVN 1.7.1 store fulltext and deltas in the BDB backend? From some time 
ago I remember that previous versions of SVN stored almost always a HEAD 
revision as fulltext, and others as reverse deltas.(except the case when a 
delta is bigger that fulltext) Was this behavior changed in SVN 1.7? I've 
looked at the notes about BDB and they don't differ almost at all from SVN 
1.4's ones. Of course, I could look into the code more carefully, but my hope 
was that it wouldn't be a big deal to give me a short answer, if possible.

Thanks in advance!

Best,
Vyacheslav





Re: BDB backend in SVN 1.7.1

2011-11-24 Thread Daniel Shahaf
Old BDB-backed repositories stored the older revision as fulltext and
newer revisions as deltas.  Repositories created with or 'svnadmin
upgrade'd by 1.6 and newer reverse this for new revisions of files
(while making sure not to introduce a dependency loop in the direction
of deltas).

http://subversion.apache.org/docs/release-notes/1.6#bdb-forward-deltas

On Friday, November 25, 2011 1:08 AM, Vyacheslav Zholudev 
vyacheslav.zholu...@gmail.com wrote:
 Hi,
 
 how does SVN 1.7.1 store fulltext and deltas in the BDB backend? From some 
 time ago I remember that previous versions of SVN stored almost always a 
 HEAD revision as fulltext, and others as reverse deltas.(except the case when 
 a delta is bigger that fulltext) Was this behavior changed in SVN 1.7? I've 
 looked at the notes about BDB and they don't differ almost at all from SVN 
 1.4's ones. Of course, I could look into the code more carefully, but my hope 
 was that it wouldn't be a big deal to give me a short answer, if possible.
 
 Thanks in advance!
 
 Best,
 Vyacheslav