¿Cómo obtener el usuario actual que está utilizando svn en una estación de trabajo en particular?Svn get current user
puedo usar el ejecutable svn.exe con algún modificador para obtener esa información.
Gracias.
¿Cómo obtener el usuario actual que está utilizando svn en una estación de trabajo en particular?Svn get current user
puedo usar el ejecutable svn.exe con algún modificador para obtener esa información.
Gracias.
No existe el "usuario actual que está utilizando svn". Cada vez que se envía un comando SVN, las credenciales se proporcionan explícitamente en el símbolo del sistema o implícitamente a través de credenciales guardadas, que pueden incluir varios usuarios.
Si ejecuta 'svn update', obviamente se está ejecutando como * algún * usuario. La pregunta es cómo saber qué usuario es. Gracias – Kip
Si está utilizando SVN + SSH, entonces, el nombre de usuario del usuario para una estación de trabajo determinada se encuentra en el archivo de configuración para SVN. Suponiendo que la estación de trabajo de Windows, este archivo estará en la carpeta C: \ Documents and Settings \\ Application Data \ Subversion. A continuación, puede escribir un script para obtener este nombre y hacer lo que necesite.
Creo que esto es solo para la configuración de SVN + SSH. No puede funcionar en otras configuraciones de conectividad para SVN.
, el único archivo que he encontrado es ésta: 1d711cc713195841ccd6ab5d28737ce9 en C: \ Documents and Settings \ Irfân \ Datos de programa \ Subversion \ auth \ svn.simple \ ... Es diferente para cada instalación pero se puede hacer ... –
Si habla de las credenciales guardadas: o lo deduce del registro o confirma algo (desde la estación de trabajo/servidor mencionada) para que pueda ver lo que dice el registro.
En Linux, se encuentra el siguiente archivo en el directorio de inicio:
~/.subversion/auth/svn.simple
En este archivo, se puede ver el "momento usuario registrado ".
Sí. Hay un archivo extrañamente nombrado allí: 851320a14c12593c4c03577412869669. Cuando se abre el archivo con el editor de texto, una de las entradas es: 'nombre de usuario V 12 MartinBerger' donde se puede ver quién está conectado. En este caso, yo. –
Se puede usar la siguiente secuencia de comandos awk para extraer el nombre de usuario de allí: '/^K/{clave = 1; val = 0; } /^ V/{clave = 0; val = 1; } !/^ [KV]/{ if (clave) {kname = $ 1; } if (val && kname == "username") { imprime $ 1; val = 0; }} ' poner esto en svnuser.awk y correr como esto: ' cat ~/.subversion/auth/svn.simple/* | awk -f svnuser.awk' –
Muchas gracias ... – VVB
En Windows se encuentra en
%APPDATA%\Subversion\auth\
Para encontrar este directorio, sólo tiene que ir a run
(ganar-clave + r), pegue el comando anterior y pulsa entrar o haga clic en Run
botón.
Para mí, había un archivo en la carpeta svn.simple
. Es un archivo de texto y tiene información con datos de autenticación guardados. Tengo algo como esto:
...
K 8
username
V 6
kosta
END
No es necesario.Simplemente ejecute 'svn auth' con la versión actualizada del cliente SVN. – bahrep
grep username ~/.subversion/auth/svn.simple/* --after-context=2 | tail -1
Explicación:
Grep el archivo en grep username ~/.subversion/auth/svn.simple/*
buscará nombre de usuario
--after-context=2
imprimirá 2 línea después de que se encuentra con nombre de usuario
Salida:
username
V 6
Bhavik
| tail -1
me dará mi nombre de usuario es decir Bhavik
.Espero que esto explique el código.
¿Podría explicar su código? – Bulat
Claro Desde el archivo en ~/.subversion/auth/svn.simple/* buscará nombre de usuario --after-context = 2 2 imprimirá la línea después de que se encuentra con nombre de usuario nombre de usuario V 6 Bhavik por último, para obtener el nombre de usuario que | tail -1 me dará mi nombre de usuario, es decir, Bhavik Espero que esto explique mi código –
El único problema con esta solución es que si utiliza múltiples repositorios, solo mostrará el nombre de usuario de la última. – Craig
Editar: Tenga en cuenta que esta respuesta solo aplica a las versiones SVN anteriores a la 1.9. Si se utiliza la versión SVN> 1,9, y luego probar el enfoque descrito en svn auth
@ de bahrep answer
Este es un script bash que yo uso, que puse en mi ~/bin/carpeta y llama svn_whoami.sh:
#!/bin/bash
debug=false
for ((i=1;i<=$#;i++)) do
case ${!i} in
-h|--help)
programName=$(basename ${0})
echo "Usage:"
echo " ${programName} [-h|--help] [-d|--debug]"
echo
echo "Example:"
echo " ${programName} --debug"
exit 0;
;;
-d|--debug)
debug=true;
;;
esac;
done;
if [ "${debug}" == "true" ]; then
echo "cat ~/.subversion/auth/svn.simple/* | grep -A6 username --color";
fi;
cat ~/.subversion/auth/svn.simple/* | grep -A6 svn:realmstring
salida:
$ svn_whoami.sh -d
cat ~/.subversion/auth/svn.simple/* | grep -A6 username --color
svn:realmstring
V 53
<http://your.1st.url.name.here:80> Authorization Realm
K 8
username
V 5
yourUserName
--
svn:realmstring
V 45
<http://your.2nd.url.name.here:80> Authorization Realm
K 8
username
V 5
yourUserName
No necesita esto. Simplemente ejecute svn auth con la versión actualizada del cliente SVN. – bahrep
Es cierto, aunque esto solo se agregó a partir de la versión 1.9 de SVN (ver: http://subversion.apache.org/docs/release-notes/1.9.html#svn-auth). Mi empresa usa una versión anterior en nuestros servidores de compilación, así que no estaba al tanto. Actualizaré mi respuesta para señalar que solo se aplica a las versiones anteriores a 1.9 y para referirme a su respuesta si utilizo la versión 1.9. – Craig
Hay varias maneras de averiguar las credenciales de inicio de sesión almacenados:
svn auth
para ver las credenciales y los certificados en caché en la tienda de credenciales SVN (%APPDATA%\Subversion\auth
).cmdkey
Ejecutar para ver las credenciales almacenadas en el Administrador de credenciales de Windows.whoami
para averiguar el nombre de su cuenta de usuario.Por cierto, no se pierda Michael Hackner's answer:
No hay tal cosa como el "usuario actual que está utilizando svn". Cada vez que se envía un comando SVN, las credenciales se proporcionan explícitamente en el símbolo del sistema o implícitamente a través de las credenciales guardadas, que pueden incluir varios usuarios.
Con el cliente SVN actualizado puede ejecutar ['svn auth'] (https://stackoverflow.com/a/44678232/761095). – bahrep