On 8 Aug 2005, at 05:55, Ryan Schmidt wrote:
> On 08.08.2005, at 04:10, Kevin Horton wrote:
>
>
>> If I try to commit a change, I get a response like:
>>
>>    Sending        sip/sip.info
>>    svn: Commit failed (details follow):
>>    svn: File not found: transaction '4-1', path '/sip/sip.info'
>>
>> If I dig a bit deeper, I see:
>>
>>     % svn log
>>     svn: No such revision 5
>>
>> I didn't think about svn during the OS upgrade, and I didn't get a  
>> backup of the svn repository, but I did get a backup of my working  
>> copy.  I later restored the latest svn backup I had, so I think  
>> the source of my problem is that the working copy is "newer" than  
>> my current repository.  What is the best way to get svn working  
>> again, while keeping the various newer files that are in my  
>> working copy, while keeping the older versions that are in the  
>> repository?
>>
>
> I'd fix it this way:
>
> 1) Create an export of your "old" working copy (which has all the  
> data in it that you want).
> 2) Create a new working copy from the repository.
> 3) Create an export of your "new" working copy (which is missing  
> the newest revisions).
> 4) Create a diff (not an svn diff; just a normal diff) between the  
> "new" export and the "old" export.
> (I suggest diffing exports, because if you diff working copies,  
> you'll diff the .svn directories too which you need to avoid.)
> 5) Apply this diff to the "new" working copy.
> 6) Commit.
> 7) Throw away the exports and the "old" working copy.
>
> I just recreated the problem here and the solution seems to work:
>
> $ cd /path/to/wc-of-lost-repo
> $ svn log
> svn: No such revision 3
> $ svn co file:///path/to/restored-repo /path/to/new-wc
> A    /path/to/new-wc/foo
> Checked out revision 2.
> $ svn export /path/to/wc-of-lost-repo /path/to/export-of-lost-repo
> Export complete.
> $ svn export /path/to/new-wc /path/to/new-export
> Export complete.
> $ cd /path/to/new-wc
> $ diff -ru /path/to/new-export /path/to/export-of-lost-repo | patch
> patching file foo
> $ svn ci -m "Restoring work lost in the OS upgrade fiasco."
> Sending        foo
> Transmitting file data .
> Committed revision 3.
> $
>
> In my example I only lost 1 revision, so my revisions match up in  
> the end; if you lost more than one, then your "new" working copy  
> will still be several revision numbers short of where you were with  
> the old repository. Either way, you should not use any old working  
> copies of the old repository anymore, as they'll be out of sync  
> with the restored older repo.
>
Ryan,
Thank you very much for the assistance.  That worked perfectly, AFAICT.
Kevin
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Mon Aug  8 13:14:13 2005