lo siento, el uso de espacio en sólo una reiteración de la respuesta -, pero esto es algo que siempre terminan en problemas.
Digamos que he actualizado los archivos locales a la última revisión, que se 854. Entonces, me gustaría obtener una versión anterior - la versión del archivo de unos revisión anterior, revisión decir 851.
Copia de trabajo:
svn copy -r 851 svn+ssh://<repository URL>/l3toks.dtx ./l3toks.dtx
.. sin embargo, yo no puedo ser molestado grepping de la repo :URL:)
Actualización aparentemente podría funcionar:
svn up -r 851 ./l3toks.dtx
... sin embargo, también marca la copia local como "recién desprotegido", o más bien "la misma línea de revisión" (es decir. en Tortuga/RabbitVCS de obtener una green ACEPTAR marca de verificación) - lo que significa que usted no puede hacer svn ci -m "rolled back to r 851"
: simplemente porque el local subversion
ejecutable no notarás cambios locales, y de no ser molestado a subir nada para el repositorio en línea.
Y, como ya se ha respondido, fusión inversa funciona - pero en este caso, no hay que basarse en la sintaxis de método abreviado; pero específicamente estado:
svn merge -r HEAD:851 l3toks.dtx
--- Reverse-merging r854 through r852 into 'l3toks.dtx':
U l3toks.dtx
Debo admitir - yo nunca iba a entender la frase "Inversa a la fusión de r854 a través de r852 en el archivo" significa "Acabo de r851 de su archivo y sobrescribir lo que tenía previamente a nivel local - y se marca como diferente de la última línea de revisión, para que pueda comprobar de nuevo en línea como un nuevo " rollback " revisión", pero supongo (y espero :) ) que es lo que hace :)
Después de esto, uno puede usar svn diff
para un rápido maquillaje seguro de si tenemos el derecho de revisión de la espalda localmente; y también, el archivo se marca con un signo de exclamación rojo en Tortuga/RabbitVCS (es decir, diferente de la última versión confirmada), y así, svn ci -m "rolled back to r 851"
puede ejecutar este tiempo.
También, tenga en cuenta que si, finalmente, cambiar de opinión después de la fusión inversa (es decir. usted de todos modos desea continuar trabajando en la más reciente, la revisión HEAD, aquí 854 - después vuelve a 851 localmente, pero todavía no se ha comprometido la operación de deshacer), usted no debería usar svn up
, porque simplemente va a decir que ya está "En revisión 854"; use en su lugar svn revert --recursive .
o similar...
Saludos!
Ref: Cómo revertir los Cambios de uso de Subversion - Jacob Wright - Flex, AIR, PHP, etc.
EDIT: ... y, al parecer, exactamente el mismo efecto como svn merge -r HEAD:851 l3toks.dtx
, se puede lograr con:
svn export -r 851 l3toks.dtx
A l3toks.dtx
Export complete.