tortoise tag create svn svnsync

tag - svn create branch command line



¿Cómo cambiar svn url en svnsync? (3)

La URL de sincronización se almacena como revprop en el repositorio de réplica. Si está en la máquina con el repositorio de réplica (mi situación), use la herramienta svnlook para mirar y svnadmin para cambiar:

[email protected][~]$ svnlook pg --revprop -r0 /path/to/mirror/repo svn:sync-from-url svn+ssh://svn.abc.com:1234/svn/foo

Verá la URL del repositorio con el que se está sincronizando actualmente su duplicación. En el ejemplo anterior, la URL del repositorio principal termina con ... / foo . Es posible que no tenga una nueva línea al final, por lo que puede seguir la línea de comandos de su shell. Ahora necesita incluir eso en un archivo, ya que svnadmin usa un archivo para la entrada para cambiar revprops.

[email protected][~]$ svnlook pg --revprop -r0 /path/to/mirror/repo svn:sync-from-url > t.txt

Ahora edite t.txt para cambiar la URL al repositorio principal. Esto puede hacer que aparezca una nueva línea al final de t.txt y provocar mensajes de error ocultos / sin sentido desde svnsync. Así que deshazte de él:

[email protected][~]$ cat t.txt | tr -d ''/n'' > t2.txt

Tenga en cuenta que ahora tenemos t2.txt que es el archivo desinfectado. Luego use svnadmin para cambiar el revprop al contenido del archivo recién editado e higienizado:

[email protected][~]$ svnadmin setrevprop /path/to/mirror/repo -r0 svn:sync-from-url t2.txt

Tenga en cuenta que t2.txt se utiliza no t.txt. Finalmente, revisa tus cambios:

[email protected][~]$ svnlook pg --revprop -r0 /path/to/mirror/repo svn:sync-from-url svn+ssh://svn.def.com:5678/svn/foo

Debería ver su nueva URL de repo inmediatamente seguida del indicador de comandos de shell, sin línea nueva. En el ejemplo anterior, la URL termina en foo y es seguida inmediatamente por el usuario del intérprete de comandos de shell @ qr [~] $.

¿Cómo puedo cambiar (reubicar) una url de subversión que ingresé al crear un repositorio de réplica usando "svnsync init" (ejemplo de #https://whatever que #https://whatever a svn://whatever )?

Intenté ejecutar svnsync init de nuevo con la nueva URL, pero

svnsync init file:///<path_to_mirror> http:///<new_url> svnsync: Destination repository is already synchronizing from ''http:///<old_url>''


Si usa la cuenta que usa para ejecutar svnsync, simplemente puede usar:

svn propset --revprop -r 0 svn:sync-from-url http://my.new/url url://to.my.repo

Si siguió las instrucciones del manual y agregó un gancho de pre-rev-props que niega a todos, excepto al usuario svnsync, que cambie los accesorios de rev, esto debería funcionar.


Svnsync almacena la URL del repositorio remoto en las propiedades de revisión de la primera revisión del espejo del repositorio. Por lo tanto, puede view la URL del repositorio actualmente configurada en su espejo local de la siguiente manera:

$ svn pg --revprop -r0 svn:sync-from-url file:///path/to/svn-mirror

Eso significa que para cambiar la URL del repositorio remoto solo tiene que cambiar la propiedad de revisión . Por ejemplo:

$ svn ps --revprop -r0 svn:sync-from-url https://svn.example.org/repo / file:///path/to/svn-mirror/

Ejemplo de salida:

property ''svn:sync-from-url'' set on repository revision 0