You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Nirmalya Lahiri <ni...@yahoo.com> on 2009/12/24 01:51:19 UTC

Subversion repository maintenance

Hi all,
 I have used subversion in my company for version management. We maintain our own server for that purpose. Yesterday I have faced a typical problem. Somehow the last 2 (two) revision of that repository was corrupted after one of our team member committed his work, and the repository was locked after then. No one was able to "update","commit","checkout" from those two revision after then.

 On that situation, I have decided to remove those two revision from repository. But I was not able to do so. After searching net, I found only one solution, the steps are....

1) Take a back of repository (except those corrupted revision).
2) Recreate repository.
3) Restore repository from backup.

 My problem was solved by these steps. But my question is, if a revision in the middle of the repository may corrupt, then how can I remove that revision from repository? Because in "svnadmin dump" command I can specify only one range of revision number ; not multiple. Take an example..

List of revision in repository....

1..2..3..4..5..............75..76..77................135..136..137

 In my case only 136 and 137 revision was corrupted. I have used the command "svnadmin dump -r 1:135" to take backup. But in some case if 76 revision will corrupt then how can I take backup of two range (1-75 and 77-137). And also how can I restore them?

 Anyone have any idea?

---
নির্মাল্য লাহিড়ী [Nirmalya Lahiri]
+৯১-৯৪৩৩১১৩৫৩৬ [+91-9433113536]


      

Re: Subversion repository maintenance

Posted by Nirmalya Lahiri <ni...@yahoo.com>.
--- On Thu, 12/24/09, Andrey Repin <an...@freemail.ru> wrote:

> From: Andrey Repin <an...@freemail.ru>
> Subject: Re: Subversion repository maintenance
> To: "Nirmalya Lahiri" <ni...@yahoo.com>, users@subversion.apache.org
> Date: Thursday, December 24, 2009, 8:47 AM
> Greetings, Nirmalya Lahiri!
> 
> >  I have used subversion in my company for version
> management. We maintain
> > our own server for that purpose. Yesterday I have
> faced a typical problem.
> > Somehow the last 2 (two) revision of that repository
> was corrupted after one
> > of our team member committed his work, and the
> repository was locked after
> > then. No one was able to "update","commit","checkout"
> from those two
> > revision after then.
> 
> What the error message was?
> 
> >  On that situation, I have decided to remove
> those two revision from
> > repository. But I was not able to do so. After
> searching net, I found only
> > one solution, the steps are....
> 
> > 1) Take a back of repository (except those corrupted
> revision).
> > 2) Recreate repository.
> > 3) Restore repository from backup.
> 
> Did you mean to dump repository up to the latest working
> revision?
> Or how specifically you managed to solve it?
> (nvm, it is, you mentioned it later in the post)
> 
> >  My problem was solved by these steps. But my
> question is, if a revision in
> > the middle of the repository may corrupt, then how can
> I remove that
> > revision from repository? Because in "svnadmin dump"
> > command I can specify only one range of revision
> number ; not multiple. Take
> > an example.. 
> 
> svnadmin dump can create incremental diff, so you can dump
> the beginning, then
> the ending, skipping that in the middle, then join it in
> single repository.
> At least, that the idea.
> 
> > List of revision in repository....
> 
> >
> 1..2..3..4..5..............75..76..77................135..136..137
> 
> >  In my case only 136 and 137 revision was
> corrupted. I have used the command
> > "svnadmin dump -r 1:135" to take backup. But in some
> case if 76 revision
> > will corrupt then how can I take backup of two range
> (1-75 and 77-137). And
> > also how can I restore them? 
> 
> I think I have answered your question. Hope you can find
> more info in
> documentation by yourself. May be also worth looking into
> http://svnbook.org -
> there could be more info too.
> 
> 
> --
> WBR,
>  Andrey Repin (anrdaemon@freemail.ru)
> 24.12.2009, <6:12>
> 
> Sorry for my terrible english...
> 
> 


Repin,
 Thanks... I got my answer from your mail. The incremental dump is the only solution of eliminating a range of revision from a repository.


---
নির্মাল্য লাহিড়ী [Nirmalya Lahiri]
+৯১-৯৪৩৩১১৩৫৩৬ [+91-9433113536]



      

Re: Subversion repository maintenance

Posted by Andrey Repin <an...@freemail.ru>.
Greetings, Nirmalya Lahiri!

>  I have used subversion in my company for version management. We maintain
> our own server for that purpose. Yesterday I have faced a typical problem.
> Somehow the last 2 (two) revision of that repository was corrupted after one
> of our team member committed his work, and the repository was locked after
> then. No one was able to "update","commit","checkout" from those two
> revision after then.

What the error message was?

>  On that situation, I have decided to remove those two revision from
> repository. But I was not able to do so. After searching net, I found only
> one solution, the steps are....

> 1) Take a back of repository (except those corrupted revision).
> 2) Recreate repository.
> 3) Restore repository from backup.

Did you mean to dump repository up to the latest working revision?
Or how specifically you managed to solve it?
(nvm, it is, you mentioned it later in the post)

>  My problem was solved by these steps. But my question is, if a revision in
> the middle of the repository may corrupt, then how can I remove that
> revision from repository? Because in "svnadmin dump"
> command I can specify only one range of revision number ; not multiple. Take
> an example.. 

svnadmin dump can create incremental diff, so you can dump the beginning, then
the ending, skipping that in the middle, then join it in single repository.
At least, that the idea.

> List of revision in repository....

> 1..2..3..4..5..............75..76..77................135..136..137

>  In my case only 136 and 137 revision was corrupted. I have used the command
> "svnadmin dump -r 1:135" to take backup. But in some case if 76 revision
> will corrupt then how can I take backup of two range (1-75 and 77-137). And
> also how can I restore them? 

I think I have answered your question. Hope you can find more info in
documentation by yourself. May be also worth looking into http://svnbook.org -
there could be more info too.


--
WBR,
 Andrey Repin (anrdaemon@freemail.ru) 24.12.2009, <6:12>

Sorry for my terrible english...