¿Git-Svn tienda Svn contraseñas?
Pregunta
Estoy usando git-svn con un par de proyectos de trabajo y he notado que por cada acción que realizo, me piden mi contraseña Svn. Para algunas acciones, me preguntan varias veces (probablemente b / c hay varias acciones que se llevan a cabo detrás de escena). Por ejemplo, al clonar un repositorio, se me pide 5 veces antes de que comience la clonación.
Los proyectos para los que estoy usando Svn directamente no hacen esto. ¿Se espera esto? ¿Hay algo que pueda hacer para guardar en caché mis credenciales?
Gracias.
Solución
Acabé de tener que eliminar el directorio de autenticación por completo y permitir que Subversion lo reconstruyera por mí. Nada más parecía funcionar. Para cualquier persona que no sepa, el directorio de autenticación está en ~ / .subversion (Mac / Linux).
Otros consejos
Tuve un problema similar en Sierra. svn
funcionó bien con la credencial almacenada, pero git svn
no usaría la credencial almacenada y siguió solicitando que se vuelva a ingresar.
La solución para mí fue eliminar la clave almacenada en el llavero y luego usar git svn
antes de cualquier otro programa. Si git svn
era el programa para almacenar la contraseña en el llavero, entonces los permisos se configuraron correctamente. Una vez que se haya utilizado git svn
para crear la entrada en el llavero, entonces se podría usar el svn
normal, y se le permitirá acceder a la clave creada por git svn
, en este punto, ambos usarían el repositorio sin problemas, y sin que se me pida la contraseña todo el tiempo.
Si cualquier otro programa establece la contraseña en el llavero, entonces ese programa no tuvo problemas, pero git svn
no recibirá permiso.
Debería pedirle a SVN que almacene sus credenciales en caché:
# $ svn update --username 'user2' --password 'password'
# user1@domain.com's password:
Sin embargo, como se menciona en la pregunta SO Subversion ignorando “—password” y “- "opciones de nombre de usuario, compruebe qué le está pidiendo exactamente una contraseña.
Tuve un problema similar. Inicialmente estaba en un servidor centos remoto tratando de agarrar todas las ramas svn remotas para llevarlas a un origen limpio como ramas de git verdaderas para una transición dura de svn a git a través de:
for remote in `git branch -r` ; do git checkout $remote; git pull; done
donde había ~ 240-ish ramas remotas. (No había forma de que pusiera mi contraseña en cada uno de estos intentos)
Lo que terminé haciendo fue enviar el repositorio a mi máquina local (una mac) y habilitar el llavero para manejar el almacenamiento en caché de contraseñas. Saqué todos los svn commit local y luego copié mi repositorio a la máquina remota.
En OSX, si ha usado svn antes, parece que svn ha creado una entrada de contraseña (en la aplicación de conjunto de claves OSX) que git svn no puede usar ni crear una nueva. El síntoma fue que se preguntaba cada vez, y SourceTree no funcionaba con el git del sistema (ni tampoco con el git incorporado por otra razón).
Mi solución fue eliminar esta entrada, y luego usar git svn una vez y se creará una entrada adecuada. Desde ese punto, también SourceTree estaba trabajando.