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

Re: Lack of Subversion repository recovery tools

From: Ryan Schmidt <subversion-2007b_at_ryandesign.com>
Date: 2007-07-04 10:40:58 CEST

On Jul 3, 2007, at 10:41, Andreas Hasenack wrote:

> On Jul 3, 2007, at 10:19, Erik Huelsmann wrote:
>
>> On 7/2/07, Andreas Hasenack wrote:
>>
>>>>> Do you think this is unreasonable?
>>>>
>>>> Absolutely not! It's a very reasonable request! The only thing
>>>> is that
>>>> this is the default in-production behaviour already: if a damaged
>>>> revision is not required to construct a later revision, it's simply
>>>> skipped and no damage will be detected.
>>>
>>> Is it? Maybe I don't have the deltas inner workings correctly in my
>>> mind, but consider this simple test:
>>>
>>> [andreas@pandora x]$ svnadmin create test-repo
>>> [andreas_at_pandora x]$ svn mkdir file://$(pwd)/test-repo/dir1 -m "-
>>> created dir 1"
>>>
>>> Commit da revisão 1.
>>> [andreas_at_pandora x]$ svn mkdir file://$(pwd)/test-repo/dir2 -m "-
>>> created dir 2"
>>>
>>> Commit da revisão 2.
>>> [andreas@pandora x]$ echo corrupt > test-repo/db/revs/1
>>> [andreas@pandora x]$ svnadmin verify test-repo/
>>> * Verified revision 0.
>>> svnadmin: Can't set position pointer in file 'test-repo/db/revs/
>>> 1': Invalid argument
>>>
>>> Does the dir2 creation depend on dir1? If yes, then this error is
>>> valid.
>>
>> Ofcourse you get an error there. I said "if a damaged revision is not
>> required to construct a later revision, ...". What you're doing there
>> is subsequently checking out *all* revisions, meaning that the
>> damaged
>> revision itself and all revisions based on it are checked out. And
>> still you expect no errors?
>
> I guess I don't understand why dir2 depends on dir1 since both are
> subdirectories of /. It's not /dir1/dir2: it's /dir1; /dir2.

Of course dir2 does not depend on dir1 in this scenario.

If you had asked Subversion to check out only dir2, à la...

svn co file://$(pwd)/test-repo/dir2

...it would have succeeded. That's what Erik is trying to say when he
says "if a damaged revision is not required to construct a later
revision, it's simply skipped and no damage will be detected." If the
revision creating dir1 is corrupted, but you only ask to check out
the unrelated dir2, then no error is reported and it works fine.

But that's not what you asked. You asked Subversion to verify all
revisions. And it reported an error in revision 1. Which is correct,
because revision 1 was corrupted.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Jul 4 10:41:22 2007

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.