2010-02-08 9 views
7

Cuando intento comprometerme, obtengo este error. Lo que se hizo, creo que es un cambio de nombre de la carpeta. Intenté cambiar el nombre/mover la carpeta. Pero continúo recibiendo el error.TortoiseSVN - "primero debe actualizar su copia de trabajo"

Command: Commit 
Error: Commit failed (details follow): 
Error: File 'Page.aspx' is out of date 
Error: File not found: transaction '99-4a', path '/trunk/src/Solution.UI/Views/ViewName/Page.aspx' 
Error: You have to update your working copy first. 

sí tratar de actualizar, pero por desgracia es no solucionó el problema.

Command: Update 
Completed: At revision: 99 

Editar: después del borrado de los archivos de la carpeta, hacer la actualización para restaurarlos, y vuelva a colocar los archivos restaurados con los originales consigo este error:

Error: Commit failed (details follow): 
Error: Base checksum mismatch on '/trunk/src/Solution.UI/Views/ViewName/Page.aspx': 
Error: expected: ed3bc4a70ee4256bd2f7cf8c57f29a1f 
Error:  actual: b8a2797dc262dc714fae6dc897b5ebd2 
+0

¿Estás seguro de cuándo hacerlo ¿Usted reemplazó archivos resotrados que no reemplazó archivos de subdirectorios .svn también? – cetnar

+0

@cetnar: Sí, los borré primero. –

Respuesta

13

SVN sabe que hubo un cambio en el repositorio, pero no sabe qué cambios hubo. Es posible que haya hecho exactamente el mismo cambio en su copia de trabajo, pero a menos que realmente intente actualizar para que SVN pueda ejecutar la resolución, no verificará que su cambio local sea el mismo que el cambio de repositorio.

Realice un svn update y la resolución del conflicto debe ser automática. Sin embargo, si ha realizado cambios en los mismos archivos, es posible que le pida que resuelva manualmente incluso si es exactamente el mismo cambio (Aún más probable si el cambio fue un cambio de nombre de la carpeta)

Puede que tenga que hacer también un svn resolved para hacer cumplir la resolución de conflicto manual.

Lo peor es que siempre puede copiar los archivos que ha cambiado, revertir los cambios locales, actualizar y reemplazar los archivos en la nueva carpeta.

+3

'svn resolved': la lista de archivos está vacía. –

1

Tienes que actualizar tu copia de trabajo.

Es decir, realizar una "Actualización de SVN" para obtener la última revisión y verificar que los cambios no entren en conflicto.

+1

Lo actualizo y lo actualicé. pero el problema no está resuelto –

1

hacer una "limpieza de SVN", y luego hacer una actualización

+0

Ha hecho SVN Cleanup> SVN Update> SVN Commite. pero el error continúa explotando. –

1

Parece que usted tiene Page.asx en que la copia de trabajo y que no existe en el repositorio de más?

tal vez intente eliminarlo físicamente de su disco o, si aún lo necesita, muévalo a otra ubicación, intente hacerlo y luego vuelva a agregarlo.

+0

+1 Borre el archivo ofensivo (haciendo una copia de seguridad si ha realizado cambios en él) y realice una actualización para obtener la página 'actualizada'. –

1

A veces puede obtener estos problemas extraños de copia de trabajo rota y, a pesar de intentarlo todo, no puede volver a funcionar y no puede comprometer su trabajo. Una forma de salir de esta situación es hacer lo siguiente:

  • Revise su proyecto en una nueva carpeta.
  • Copie los archivos modificados solo de su copia de trabajo anterior a su nueva copia de trabajo. Si te comprometes a menudo esto no debería tomar mucho tiempo. Si se compromete una vez al mes, esto podría llevar algún tiempo ...
  • Verifique que la lista de modificaciones sea la misma en ambas copias de trabajo.
  • Confirme desde su nueva copia de trabajo.
  • Borre su copia de trabajo anterior y revísela nuevamente.

No es muy satisfactorio hacerlo de esta manera, ya que no muestra qué salió mal y por qué, pero si solo quiere continuar con su trabajo, entonces es bueno saber que hay una solución rápida .

2

Estoy usando TortiseSVN y encontré el problema que está teniendo.

Intento de esfuerzo: elimine un directorio y los archivos que contiene.

mi camino resolución (procedimiento efectivo la totalidad)

  1. seleccionar los archivos pertinentes. Haga clic derecho | TortiseSVN | Eliminar

    Respuesta: Archivos marcados para su eliminación.

  2. Haga clic derecho en el directorio que contiene | TortiseSVN | Confirmar

    Respuesta: Archivos eliminados.

  3. Haga clic derecho en el siguiente directorio superior del directorio que contiene el mencionado | Actualización de SVN

    Respuesta: Actualización completa.

  4. Haga clic derecho en el directorio que deseo eliminar | TortiseSVN | Eliminar

    Respuesta: directorio marcado para eliminación.

  5. Haga clic con el botón derecho en el siguiente directorio superior desde el directorio-a-eliminar mencionado anteriormente | SVN Commit

    Respuesta: directorio borrado

Proceso completo.

0

Usted sólo debe desmarcar borrado o falta de archivos cuando se hace svn commit

0

Probé esta solución y funciona perfecto para mí. 1-Exportar la copia de trabajo a otro directorio Temp. 2-Eliminar todos los archivos en el directorio de trabajo 3-Salida en el directorio de trabajo 4-copiar los archivos en el directorio Temp al directorio de trabajo sobrescribir todos los archivos existentes 5- Commit

Cuestiones relacionadas