En Subversion, ¿puedo ser un usuario que no sea mi nombre de usuario?

Me gustaría saber cómo hacer que Subversion cambie el nombre en el que aparecen mis cambios.

Estoy comenzando a usar Subversion . Actualmente lo estoy usando para el código de control de versiones en una computadora portátil XP donde siempre estoy conectado con el nombre de mi esposa. Me gustaría que el DB de subversión muestre los cambios bajo mi nombre.

Más adelante, replicaré el DB para que esté accesible para toda la casa. Mi esposa usa la computadora de la oficina donde siempre está conectada con mi nombre. Probablemente lo configure para que compruebe automáticamente los documentos modificados … preferiblemente bajo su nombre.

Eventualmente, probablemente lo use desde una máquina Linux bajo otro nombre de usuario.

¿Hay alguna manera de modificar el entorno del usuario para cambiar el nombre de usuario que Subversion llama? Esperaría algo como establecer SVN_USERNAME='Mark' que anularía, pero que generalmente recibe el nombre.

Actualización: Parece que el indicador --username que se refería Michael sí funciona para cambiar el nombre informado por "svn stat" , incluso para el archivo local: repositorys. Además, es adhesivo por lo que no necesita especificarlo para el siguiente comando. Incluso reinicié y aún usé el valor "--username" de mi arranque anterior.

La mayoría de los comandos de Subversion toman la opción --username para especificar el nombre de usuario que desea usar en el repository. Subversion recuerda el nombre de usuario y la contraseña del último repository utilizados en cada copia de trabajo, lo que significa, entre otras cosas, que si utiliza svn checkout --username myuser , no necesita volver a especificar el nombre de usuario.

Como dice Kamil Kisiel , cuando Subversion accede al repository directamente desde el sistema de archivos (es decir, el repository URL es de form file:///path/to/repo o file://file-server/path/to/repo ), utiliza los permisos del sistema de archivos para acceder al repository. Y cuando se conecta a través de túnel SSH ( svn+ssh://server/path/to/repo ), SVN usa sus permisos FS en el servidor , como lo determina su inicio de sesión SSH. En esos casos, svn checkout --username puede no funcionar para su repository.

Para svn over ssh try:

 svn list svn+ssh://[user_name]@server_name/path_to_repo 

svn le pedirá la contraseña del nombre de usuario.

Puede configurar un nombre de usuario predeterminado a través de ~ / .subversion / servers:

 [groups] yourgroupname = svn.example.com [yourgroupname] username = yourusername 

Tenga en cuenta que las versiones anteriores de svn no son compatibles (por ejemplo, 1.3.1 [sic!]).

 "svn co --username=yourUserName --password=yourpassword http://path-to-your-svn" 

Funcionó para mí cuando estaba en otra cuenta de usuario. Sin embargo, se le pedirá que ingrese nuevamente el nombre de usuario / contraseña. Necesita iniciar sesión como el anterior una vez y está todo listo para los tiempos posteriores (a menos que reinicie su máquina).

Si necesita especificar un nombre de usuario que no sea el usuario que inició sesión para usarlo con svn + ssh, simplemente agregue una entrada a su archivo .ssh / config :

 Host example.com
 Usuario jdoe

Por lo general, Subversion me pide mi “nombre de usuario de Subversion” si falla utilizando mi nombre de usuario registrado. Por lo tanto, cuando soy flojo (por lo general) solo dejo que me pida mi contraseña y pulso enter, y espero el nombre de usuario y uso mi nombre de usuario de Subversion.

De lo contrario, la solución de Michael es una buena forma de especificar el nombre de usuario de inmediato.

La mayoría de las respuestas parecen ser para svn + ssh, o no parecen funcionar para nosotros.

Para el acceso http, la manera más fácil de cerrar la sesión de un usuario SVN desde la línea de comando es:

rm ~/.subversion/auth/svn.simple/*

Punta de sombrero: http://www.yolinux.com/TUTORIALS/Subversion.html

Creo que si usa el método file: // para acceder a su repository de subversión, sus cambios siempre se realizan bajo el usuario que accede al repository. Debe usar un método que admita la autenticación, como http: // o svn: //.

Consulte http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.serverconfig.choosing

Usando Subversion con el módulo Apache o svnserve. Pude realizar operaciones como usuarios múltiples utilizando --username .

Cada vez que invoque un comando de Subversion como un ‘nuevo’ usuario, su $HOME/.subversion/auth// directorio tendrá una nueva entrada almacenada en caché para ese usuario (suponiendo que pueda autenticarse con la contraseña correcta) o método de autenticación para el servidor al que se está contactando como ese usuario particular).

Si está utilizando svn + ssh para conectarse al repository, lo único que lo autentica y lo autoriza son sus credenciales ssh. TODO lo demás es ignorado. Su nombre de usuario se registrará en subversión exactamente como está establecido en su conexión ssh. Una excelente explicación de esto es en jimmyg.org/blog/2007/subversion-over-svnssh-on-debian.html

Vaya a ~/.subversion/auth/svn.simple/* , y verá una lista de archivos que contiene la información sobre su cuenta de usuario svn. Solo borre todas las otras que no necesita.

Después de eso, cuando haces algo relacionado con la operación SVN, como commit, rm, etc. Se le volverá a solicitar ingresar el nombre de usuario o las contraseñas.

TortoiseSVN siempre solicita un nombre de usuario. (a menos que le diga que no)

Creo que puede establecer la variable de entorno SVN_USER para cambiar su nombre de usuario SVN.