Cambiar nombre de usuario en SVN + SSH URI sobre la marcha en copy de trabajo

Estoy utilizando SVN + SSH para verificar una copy de trabajo del repository desde un server SVN en el que todos los desarrolladores son miembros de un grupo de developer y tienen permissions de lectura / escritura completos en el directory del repository y los metadatos asociados:

 svn co svn+ssh://someuser@svn.server/path/to/repository 

Varios desarrolladores trabajan en la misma copy de trabajo que está desprotegida en una count de shell compartida ( root ). Debido a que este repository se está utilizando para el control de revisión de configuration en un entorno de producción, esto es inevitable. Darle a cada desarrollador una count de shell individual en la máquina de destino (aquella en la que se realiza el pago) sería una forma de resolver este problema porque cada uno podría tener su propia copy de trabajo, pero desafortunadamente esto no es aceptable aquí.

Tenemos varios ganchos post-commit que envían correos electrónicos que detallan los commits, incluido el nombre de usuario de la persona que cometió el cambio.

El problema es que una vez que se realiza una copy de security de una copy de trabajo con un nombre de usuario dado usando el esquema de URI svn+ssh:// , las confirmaciones y actualizaciones también parecen tener que hacerse bajo ese nombre de usuario. Esto no es viable por dos razones:

1) La persona que originalmente realizó el pago puede no ser la persona que hace un commit ahora, y necesitamos los correos electrónicos posteriores a la confirmación y otros ganchos post-commit para saber exactamente quién hizo el commit, y

2) claramente, una confirmación requiere que el usuario que realiza la tarea conozca la contraseña de la count de la persona que realizó el pago original, el uso de keys RSA para la authentication no interactiva a pesar del motivo # 1.

¿Hay alguna forma de cambiar dinámicamente el nombre de usuario de la count remota que se está utilizando para la authentication en este escenario?

Investigué un poco y encontré esta pregunta anteriormente:

Cambiar el nombre de usuario para un commit de Subversion sobre svn + ssh

Lamentablemente, la sugerencia en la respuesta aceptada ( svn switch ) no funciona:

 [root@db repo-directory]# svn switch svn+ssh://user2@10.250.10.1/u/svc/repositories/repo-name user2@10.250.10.1's password: svn: 'svn+ssh://user1@10.250.10.1/u/svc/repositories/repo-name' is not the same repository as 'svn+ssh://user2@10.250.10.1/u/svc/repositories/repo-name' 

Cualquier idea sería muy apreciada. ¡Gracias de antemano por su consideración!

Funciona con ssh + svn si modifica la configuration de su cliente: sección $ HOME / .subversion / config tunnels :

 ssh = $SVN_SSH ssh -l *youruser* 

Ah, bueno, no importa. Parece que svn switch --relocate hace el truco:

 svn switch --relocate svn+ssh://olduser@svn.server/path/to/repo svn+ssh://newuser@svn.server/path/to/repo 

Sin embargo, es engorroso. Si hay alguna manera más fácil, estoy abierto a sugerencias.

Obviamente, se puede escribir un alias de bash o shell-script para automatizar esta parte, supongo, pero ojalá fuera más simple que eso.

También puede hacer una actualización simple con otro nombre de usuario.

 svn update --username <user> --password <pwd>