(I'm sending this Cc back to the list, since others may have input too.) On Sun, Jun 6, 2010 at 19:36, Abius X <abi...@gmail.com> wrote: > Hi > Sorry for brief desscriptions, > Yep there are different error messages that describe server revision is older > than working copy. > > Yes I mean a backup, the server crashed and we restored a backup > It was like 3 weeks older than the working copy (revision 270 vs 291) > > We have many developments done in working copy that are not in the > repository, and we can't commit or update.
You'll need to check out new working copies in order to be able to interact with the repository, but as you say you have changes in your current working copies you don't want to lose. Here's what I would do: First I need to define a few terms. I'm going to assume you're on Windows since most people are and most unix people are smart enough to replace \ with /. I'm also not going to assume familiarity with diff and patch. I'm also going to assume you haven't moved or renamed anything between r270 and r291. C:\project-old This is your working copy (r291 + local changes) before your repository died. C:\project-new This is your working copy (r270) from the restored repository. http://svn.example.com/repo/project/trunk This represents the URL your working copy was checked out from. 0. Make a backup copy of C:\project-old (You can never be too paranoid) 1. 'Export' a copy of C:\project-old. This will give you a copy free of the .svn administrative directories. svn export C:\project-old C:\project-old.export 2. Check out a new working copy of http://svn.example.com/repo/project/trunk svn co http://svn.example.com/repo/project/trunk C:\project-new 3. Copy the contents of C:\project-old.export with C:\project-new There are various ways to do this. I would just use the Widows file manager (confusingly called "Windows Explorer"). Drag project-old.export and drop it onto C:\project-new. Windows will offer to merge the contents of the two folders. Let it do so. 4. Use svn status to see the local changes in C:\project-new. Convince yourself that they make sense. svn status C:\project-new also helpful: svn diff C:\project-new 5. Think up a good commit comment to summarize the last 3 weeks (!) worth of work. Put it in this file: C:\BACKUPS_SHOULD_BE_AUTOMATED.txt. 6. Check in your local changes using your hopefully thoughtful commit message svn commit -F C:\BACKUPS_SHOULD_BE_AUTOMATED.txt C:\project-new As solutions go, this isn't beautiful and doesn't cover all cases (see my assumptions above.) It should leave you with the changes between r270 and of your working safely in your repository so work can continue. Once you are happy with the results, you can throw away C:\project-old. // Ben