Zombiied Mirrors
For those of you reading this looking for a solution when you svk mv a mirrored path, jump to The Solution
The Problem
So today I managed to fsck my SVK depot. In attempting to use mst's Reaction I mistakenly mirrored the repository under //mirrror/reaction. As noticed when i tried the following commands
[ash@bowser perl]$ svk co //mirror/reaction path /mirror does not exist. [ash@bowser perl]$ svk co -d /home/ash/perl/reaction Checkout path '/home/ash/perl/reaction' detached. [ash@bowser perl]svk mirror -l Path Source ============================================================ //mirror/your_prefs https://mydomain.com/svn/... //mirrror/reaction http://code2.0beta.co.uk/reaction/svn [ash@bowser perl]$ svk mv //mirrror/reaction //mirror/reaction Waiting for editor... Committed revision 251. Committed revision 252. [ash@bowser perl]$ svk mirror -l Path Source ============================================================ //mirror/your_prefs https://mydomain.com/svn/...
Oh look at that. Its not there anymore. Hrmmmmm. What happens if we try to mirror it again...
[ash@bowser perl]$ svk mirror //mirror/reaction http://code2.0beta.co.uk/reaction/svn /mirror/reaction already exists.
Ah, so lets remove it then try again:
[ash@bowser perl]$ svk rm //mirror/reaction Waiting for editor... Committed revision 253. [ash@bowser perl]$ svk co http://code2.0beta.co.uk/reaction/svn <snip svk output> Depot path: [//mirror/svn] //mirror/reaction Filesystem has no item: File not found: revision 253, path '/mirrror/reaction' [ash@bowser perl]$ svk mirror -l Path Source ============================================================ //mirror/your_prefs https://mydomain.com/svn/...
Bah. That didn't work either.
[ash@bowser perl]$ svk ls // mirror/ mirrror/ [ash@bowser perl]$ svk rm //mirrror //mirrror contains mirror, remove explicitly: //mirrror/reaction [ash@bowser perl]$ svk rm //mirrror/reaction no source specificed at /usr/local/share/perl/5.8.7/SVN/Mirror.pm line 52.
The Solution
To fix this problem, you have to remove the moved mirror from the svm:mirror property on the root of your depot (// in most cases.)
[ash@bowser perl]$ svk pg svm:mirror // /mirror/your_prefs /mirrror/reaction [ash@bowser perl]$ svk ps svm:mirror "/mirror/your_prefs > " // Waiting for editor... Committed revision 254. [ash@bowser perl]$ svk mirror //mirror/reaction http://code2.0beta.co.uk/reaction/svn Committed revision 255. [ash@bowser perl]$ svk sync //mirror/reaction Syncing http://code2.0beta.co.uk/reaction/svn Retrieving log information from 1 to 216 Committed revision 256 from revision 1. ... Committed revision 471 from revision 216.
Huzzah! It's working!. Now to just remove //mirrror:
[ash@bowser perl]$ svk rm //mirrror Waiting for editor... Committed revision 472.
Done and dusted.
Tho strangely this bug report seems to imply this problem as fixed in 2005. However the above and [svk-devel] Unable to recover from zombie mirror say otherwise.
Anyone know differently?
Comments on Zombiied Mirrors | 1 comment | Post a comment