2009-03-03 17 views

Respuesta

3

Sí, puede utilizar el comando Reubicar (gracias, Peter) para conectar su copia de trabajo con el primer repositorio, confirmar allí, y luego reubicarlo en el segundo repositorio y comprometerlo allí también. Mejor hacer primero una copia de la carpeta de copia de trabajo en otro lugar.

+1

Recibo el error 'UUID del repositorio no coincide' :( – Saneef

+0

¿Las credenciales de inicio de sesión son diferentes para los repositorios? –

+0

¡Esto no funciona! Cada repositorio tiene su propio UUID, por lo que no puede cambiar --relocate a un nuevo URL que es un Repositorio diferente, excepto que manipulas el uuid para que coincida (lo cual no es bueno) –

1

Si varias personas estarían hablando con diferentes servidores svn, tendrá problemas. Los dos servidores no se hablarán entre sí para asegurarse de que no tengan conflictos, utilicen los mismos números de revisión, etc. Al menos, no conozco ningún svn hacks que pueda hacer esto. (Hay otros sistemas de versión distribuida basados ​​en svn, como svk).

¿Cuál es el objetivo central aquí? ¿Puede enviar solo a un servidor único, pero luego tiene un enlace de confirmación posterior para replicar el cambio en otro servidor, lo que permitiría un acceso fácil de solo lectura desde la otra ubicación?

Cuantos más detalles puede dar sobre lo que quiere hacer, más posibilidades tendremos de poder ayudarle.

1

Los sistemas de control de versiones distribuidas, como Mercurial, Bazaar o Git son más adecuados para tales tareas. Puede presionar cambios en cualquier número de repositorios.

1

Es posible pero terriblemente picante. Actualmente tengo que hacer eso porque mi ISP está clínicamente muerto y tengo un problema difícil para llegar a varios centros de datos en Europa. Por lo tanto, presiono a mi servidor en Canadá, que inmediatamente empuja al repositorio real.

En dos ocasiones, en realidad terminé con un número de revisión diferente (+1), lo que significa que mi siguiente svn up se volvió muy interesante.

Por lo tanto, acabo de utilizar SSHFS (un montaje FUSE) para editar los archivos en el lugar en la copia de Canadá, y luego comprometido directamente. Sigue siendo un verdadero dolor y una de las muchas razones por las que amo tanto a Mercurial.

0

En primer lugar, la caja para cada servidor de su código, y después de eso hacer una svn_up.sh script como el siguiente:

ssh server_one_ip_address svn up /path_to_working_copy_on_server1 
ssh server_two_ip_address svn up /path_to_working_copy_on_server2 

Uso sh svn_up .sh en lugar de svn up

Cuestiones relacionadas