On Wed, Feb 25, 2015 at 2:14 PM, Keith Johnson <k33...@gmail.com> wrote:
> Hi Andreas, thanks for the response. > > The revision in question is over a year old, so I'm not sure I can put it > back exactly as it was (guess all I can do is try my best). I assume > there's no way to actually get historical data from pristine - that's just a > cache of current documents, correct? > > Basically what you are saying to do is recreate up to the crash, try to > check in a close-as-possible replacement for r390, put that back in the copy > of the crashed repo, then dump further from there and import back in? > Sounds like a reasonable thing to try. Will report back later tonight. First step is to *write lock* the old repository, to avoid accumulating history on broken history. You will be *breaking history* due to the corrupted repo. You should ideally create a new repo to do the repairs in, explain the situation,and tell your user community to set aside their working copies and make clean checkouts when you're done. The old repo should be locked, and the new repo should have a new name to avoid any confusion. This is one of the difficulties with the absolute central repository approach of Subversion and its spiritual ancestor, CVS. If anything happens to the central repository, you have to re-establish the effectively server/client relationship correctly or be at risk of corrupting your history, *again*. It can happen with more distributed systems as well, it's just more likely when one particular repository is considered canonical in your particular workflow. If the history is replaced or corrupted behind your back, you can be in real trouble.