tortoise repositorio reconoce que puerto por interno externo documentacion defecto crear como comando change svn svn-repository

repositorio - tortoise svn server



Cambiar la URL del repositorio SVN (3)

Mi estructura SVN actual:

Path: . URL: svn://someaddress.com.tr/project Repository Root: svn://someaddress.com.tr Repository UUID: ------------------------------------- Revision: 10297 Node Kind: directory Schedule: normal Last Changed Author: ---- Last Changed Rev: 9812 Last Changed Date: 2010-12-20 17:38:48 +0100 (Mon, 20 Dec 2010)

Pero nuestro proyecto (de ahí el servicio SVN) funcionará sobre sub.someaddress.com.tr lugar de someaddress.com.tr (someaddress.com.tr será redirigido a otro lugar pronto).

Como es el servidor de desarrollo, no podía estar seguro de qué hacer. ¿Necesitaré usar svn switch o svn switch --relocate ? Además, ¿tendré que cambiar svn root someaddress.com.tr o la rama del proyecto someaddress.com.tr/project ?


Ampliar la URL antes y después puede darle cierta tranquilidad:

svn info | grep URL URL: svn://svnrepo.rz.mycompany.org/repos/trunk/DataPortal Relative URL: (...doesn''t matter...)

Y verificando tu versión (ser> 1.7) para asegurar, svn relocate es lo correcto para usar:

svn --version

Por último, además de lo anterior, si el cambio de su url del repositorio también implica un cambio de protocolo, es posible que deba indicar el URL de antes y después (también vea aquí )

svn relocate svn://svnrepo.rz.mycompany.org/repos/trunk/DataPortal https://svngate.mycompany.org/svn/repos/trunk/DataPortal

Todo en una sola línea de curso. Después de eso, ten la buena sensación de que todo fue sin problemas:

svn info | grep URL:

Si te apetece, un poco más de autoconfianza, la nueva URL de svn repo está conectada y funcionando:

svn status --show-updates svn diff


Dado que el servidor Apache Subversion se moverá a este nuevo alias DNS: sub.someaddress.com.tr :

  • Con Subversion 1.7 o superior, use svn relocate . La reubicación se usa cuando cambia la ubicación del servidor SVN. switch solo se usa si desea cambiar su copia de trabajo local a otra rama u otra ruta. Si usa TortoiseSVN, puede seguir las instrucciones del Manual de TortoiseSVN . Si usa la interfaz de línea de comando SVN, consulte esta sección de la documentación de SVN . El comando debería verse así:

    svn relocate svn://sub.someaddress.com.tr/project

  • Siga usando /project dado que los contenidos reales de su repositorio probablemente no cambien.

Nota: svn relocate no está disponible antes de la versión 1.7 (gracias a ColinM por la información). En versiones anteriores, usarías:

svn switch --relocate OLD NEW


En mi caso, el comando svn relocate (así como también svn switch --relocate ) falló por alguna razón (tal vez el repositorio no se movió correctamente, o alguna otra cosa). Me enfrenté a este error:

$ svn relocate NEW_SERVER svn: E195009: The repository at ''NEW_SERVER'' has uuid ''e7500204-160a-403c-b4b6-6bc4f25883ea'', but the WC has ''3a8c444c-5998-40fb-8cb3-409b74712e46''

No quería volver a descargar todo el repositorio, así que encontré una solución. Funcionó en mi caso, pero en general puedo imaginarme que muchas cosas se pueden romper (así que haz una copia de seguridad de tu copia de trabajo o prepárate para volver a realizar el proceso de todo el repositorio si algo sale mal).

La dirección repo y su UUID se guardan en el .svn/wc.db base de datos SQLite .svn/wc.db en su copia de trabajo. Simplemente abra la base de datos (por ejemplo, en el navegador SQLite), busque la tabla REPOSITORY y cambie los valores de la columna root y uuid por los nuevos. Puede encontrar el UUID del nuevo repositorio emitiendo svn info NEW_SERVER .

Nuevamente, trate esto como un método de último recurso.