2010-02-01 33 views
18

Soy un nuevo usuario con SVN y encuentro un problema en el comando de confirmación de SVN.La confirmación de SVN falla con el error "Autorización fallida"

Uso TortoiseSVN 1.6.6 y la imagen de Ubuntu Subversion con WMware como servidor.

Creé un repositorio en el servidor SVN, y puedo verificar fácilmente los archivos del repositorio, pero me comprometo.

Cuando me comprometo, siempre muestra el problema.

Command: Commit 
Error: Commit failed (details follow): 
Error: Authorization failed 
Finished!: 

Este problema solo se muestra en el cliente local con el repositorio de servidor SVN en la máquina virtual. Intenté crear un repositorio en una máquina local con TortoiseSVN, y no es un problema en Commit. También probé una copia de trabajo en la máquina del servidor, no es problema en Commit también.

¿Alguien ha experimentado este problema? No hay ningún problema en Checkout desde el servidor VM SVN, pero muestra problemas en la confirmación del cliente local al servidor de VM.

En caso de tener que configurar algo, ¿me olvidé de hacerlo?

+2

de este vieja pregunta, pero voy a añadir mis 2 centavos porque recientemente he tenido este problema. Mi problema fue la forma en que revisé el repositorio. Inadvertidamente utilicé svn: //example.com/Repo en lugar de svn + ssh: //[email protected]/Repo como origen, y el checkout anónimo funcionó bien, pero no pude confirmarlo. Si me hubiera asegurado de haberlo verificado de la misma manera que lo hice en otros sistemas, no habría tenido un problema pero no lo hice. Podría valer la pena verificar si este es su problema: compare la fuente del repositorio entre el trabajo y el no trabajo y vea si hay algo obviamente incorrecto. – Wug

Respuesta

3

Antes que nada, ¿puedes navegar por el repositorio de Tortoise? Si puede, la cuenta de usuario con la que está accediendo al repositorio no tiene derechos de escritura (= confirmación).

Si no puede navegar sin comprometer: Es posible que Tortoise haya almacenado los datos de autenticación incorrectos en su cliente. Creo que debería solicitar las credenciales nuevamente en ese caso, pero tal vez no sea así. Prueba esto:

  1. Abra el menú Inicio, vaya al grupo de TortoiseSVN

  2. Haga clic en "Configuración de TortoiseSVN"

  3. Vaya a "Datos guardados"

  4. Haga clic en "Borrar" en "Datos de autenticación"

Tortoise olvidará todas las contraseñas almacenadas y deberá volver a preguntarle la próxima vez que intente acceder a la máquina virtual.

+0

Tengo un problema similar. No tengo ningún problema para navegar por SVN, pagar desde el repositorio de SVN. Esto ocurre solo en mi computadora portátil. Sin embargo, si escritorio remoto en otras máquinas, puedo verificar el código, navegar y también confirmar. Entonces, cada vez que tengo que registrar un código, tendré que copiar el código en la máquina remota y registrarlo. Estoy usando Windows 8 - 64 bit OS. Información de la versión SVN: TortoiseSVN 1.8.2, compilación 24708 - 64 bits, 2013/08/27 19:20:39 Subversion 1.8.3, -dirección apr 1.4.8 apr-util 1.5.2 serf 1.3. 1 OpenSSL 1.0.1e 11 Feb 2013 zlib 1.2.8 – MoG

+0

http://stackoverflow.com/questions/19328149/tortoise-svn-commit-failed-details-below-authorization-failed – MoG

5

Si el servidor utiliza svnserve para servir el repositorio (lo que significa que está utilizando un URL svn://), entonces usted debe comprobar el archivo conf/svnserve.conf en el repositorio. La configuración predeterminada permite la lectura anónima, pero solo los accesos de escritura autenticados IIRC.

14

Es la autorización que falló. Eso significa que el primer paso, la autenticación fue exitosa.

Entonces: el nombre de usuario/contraseña es correcto y fue aceptado por su servidor. Pero luego ese usuario no tenía permiso para acceder a la ruta/recurso.

revise su archivo de autorización basado en ruta (conf/authz) y asegúrese de que el usuario tenga los derechos.

0

Además, compruebe que el repositorio real en el servidor tiene los permisos de archivo correctos para ser escrito por el proceso del servidor (ya sea svnserve o Apache). Probablemente esté bien ya que fue posible crear el repositorio de otras maneras, pero vale la pena verificarlo por si acaso.

4

Tuve exactamente el mismo problema con RapidSVN (o al usar svn commit desde la CLI). El tema resultó que yo era la salida del repositorio utilizando la subversión Anónimo Acceso (el enlace svn://):

svn checkout svn://svn.r-forge.r-project.org/svnroot/rsitesearch/

Pero cuando se utiliza este enlace para la cesión temporal no se puede confirmar los cambios. Así que la solución era utilizar el enlace que svn+ssh:// desarrollador de Subversion acceso a través de SSH:

svn checkout svn+ssh://[email protected]/svnroot/rsitesearch/

con otros servicios de SVN, el enlace correcto para cometer podría ser https://. De hecho, tengo una mejor experiencia con el pago de https://, así que pruébalo primero.

Ahora svn commit debería funcionar como se esperaba.

(Esta es la misma solución que la sugerida por Wug en el comentario al OP.)

+0

Y si solo estás jugando en su propia configuración local, y quiere configurar algo que funciona, pero que abre el acceso de escritura potencialmente peligroso, puede quizás cambiar una línea en svnserve.conf desde '# anon-access = leer' a' anon-access = write' (nota ** anon ** - acceso, no ** auth ** - acceso) –

1

Salida sus archivos a través del protocolo HTTP en lugar de protocolo SVN. Tuve el mismo problema ya que estaba revisando los archivos usando el protocolo svn: //. Más tarde cambié el protocolo a http: // y todo comenzó a funcionar normalmente.

3

Mi experiencia fue similar a bluebrother Creé un nuevo repositorio correctamente pero no configuré los usuarios correctamente. Me dejó Pedido pero no Commit

Editar repoLocation /conf/svnserve.conf y elimine la línea

contraseña-db = passwd

Editar repoLocation/conf/passwd y agregue un nombre de usuario y contraseña para passwd, por ejemplo

tim = contraseña

+0

Solo una nota: el par de nombre y contraseña debe establecerse en 'repoLocation/conf/passwd ', no dentro de' svnserve.conf ', ya que con la línea anterior le está diciendo al servicio que busque ese archivo. – Endrik

+0

Gracias, corrección hecha –

3

Si está utilizando svnserve para proporcionar acceso SVN (es decir su url del repositorio se ve como svn://server/repo), asegúrese de que su servidor permita el acceso de escritura. En algunas instalaciones, el servidor se inicia con acceso de solo lectura de forma predeterminada:

# The -R option enforces read-only access, i.e. write operations to the 
# repository (such as commits) will not be allowed. 
SVNSERVE_OPTIONS="-d -R -r /srv/svn/repos" 
+0

¡Oh estúpido! Había agregado -R yo mismo ... – sschrass

+0

¡Me salvaste un par de horas! ¡Gracias! – kissgyorgy

+0

en qué archivo es? – Louis

10

Para mí fue debido a la migración del servidor. En svnserve.conf que se olvidó de quitar los comentarios:

auth-access = write 
password-db = passwd 
+0

este es mi error más común cuando uso repositorios nuevos. – Agguro

Cuestiones relacionadas