I'm trying to roll back a subversion repository, that I've made a few errors in.
I would like to roll back the entire repository to a 'good version'.
The normal method to do this is:
svn merge -rHEAD:<good rev> .
svn commit -m 'roll back to <good rev>'
however, as I've got some externals in the repository, subversion won't let me complete the merge operation, without all sorts of errors.
I've managed to actually fix this using the following steps:
svn propedit svn:externals . # delete all the externals from this file
rm -rf <list of dirs that are marked externally> #Note - Unix RM here, not subversion
svn merge -rHEAD:<good rev> .
svn resolved . # to fix the conflicts that I have on the properties in the current folder
svn commit -m 'completed long winded rollback to earlier rev'
But there has to be a better way? Anyone know of it?
P.S. Please don't say 'don't use externals' unless you've a way of multiple projects editing the same library that is in a state of flux. Externals work for me (mostly).