tutorial - ¿Cómo puedo degradar la versión de una copia de trabajo SVN?
svn no es una copia de trabajo (2)
Acabo de eliminar la carpeta .svn en el archivo de proyecto que 1.7 creó y volvió a agregar la solución usando 1.6. Esto funcionó para mí espero que ayude a alguien más.
Los directorios SVN son convenientemente fáciles de mover entre computadoras, pero esto puede ocasionar desajustes en la versión entre la copia de trabajo y el cliente svn instalado, lo que da como resultado el error
svn: This client is too old to work with working copy ''.'';
please get a newer Subversion client
En un mundo perfecto, uno podría instalar una versión más nueva del cliente SVN, pero cuando esto no sea posible o conveniente, sería bueno poder degradar la copia de trabajo a la versión del cliente instalado, especialmente cuando se sabe que ninguno de las características de la versión posterior se están utilizando.
Ver una nueva copia de trabajo con el cliente anterior solo funciona si la copia de trabajo problemática no tiene ningún cambio, y no es demasiado grande como para que sea inconveniente.
El escenario para imaginar sería algo así como: Joe le envía una gran copia de trabajo con muchos directorios anidados (y carpetas .svn versionadas asociadas). Usted trabaja en eso. Cuando intentas cometerlo, svn te dice que tu cliente es demasiado viejo. Devolvérselo a Joe no debería ser necesario. No debería ser necesario verificar una nueva copia de trabajo y fusionar los cambios sería inconveniente en cualquier caso.
Hay alguna manera de hacer esto?
Respuesta corta: no es trivial.
Afortunadamente, los desarrolladores anticiparon este problema y lo trataron en una pregunta frecuente: http://subversion.apache.org/faq.html#working-copy-format-change
El resultado final es descargar y usar su script para este propósito: http://svn.apache.org/repos/asf/subversion/trunk/tools/client-side/change-svn-wc-format.py
Tenga en cuenta que ese script solo quiere el número de versión principal del cliente, por lo que si tiene la versión 1.4.4 del cliente, el comando sería:
python change-svn-wc-format.py <WC_PATH> 1.4 [...other options...]
Actualizar:
La secuencia de comandos anterior solo funciona para degradar la versión 1.6 y siguientes. La degradación de 1.7+ aparentemente no es posible. La nota de la fuente:
# Downgrading from format 11 (1.7) to format 10 (1.6) is not possible,
# because 11 does not use has-props and cachable-props (but 10 does).
# Naively downgrading in that situation causes properties to disappear
# from the wc.
#
# Downgrading from the 1.7 SQLite-based format to format 10 is not
# implemented.