2011-09-08 13 views
10

Estoy tratando de cometer mis cambios al repositorio CVS, pero me sale el siguiente error:Cómo arreglar el problema cuando la comisión de un cambio en CVS

RCS file: /opt/CZarmen/CVS_REPOSITORY/Z_user/lib/python/StudioCustom.py,v 
retrieving revision 1.38 
retrieving revision 1.39 
Merging differences between 1.38 and 1.39 into StudioCustom.py 
M lib/python/StudioCustom.py 

RCS file: /opt/CZarmen/CVS_REPOSITORY/Z_user/menu_scripts/Y/ZExtensions,v 
retrieving revision 1.46 
retrieving revision 1.47 
Merging differences between 1.46 and 1.47 into ZExtensions 
M menu_scripts/Y/ZExtensions 

cvs commit: Up-to-date check failed for `lib/python/StudioCustom.py' 
cvs commit: Up-to-date check failed for `menu_scripts/Y/ZExtensions' 
cvs [commit aborted]: correct above errors first! 

¿Por qué fracasan a cometer mis cambios? ¿Cómo puedo "corregir los errores anteriores"?

Respuesta

17

Primero debe actualizar su copia de trabajo ejecutando cvs up porque alguien ya ha actualizado estos archivos mientras trabajaba en ellos. CVS no puede fusionar automáticamente estos cambios durante la confirmación.

+1

Pero si actualizo mi copia de trabajo, perderé mis ediciones, ¿o no? Quiero decir, decir que el archivo contiene "abc", quiero que sea "abcd", pero alguien ya lo ha actualizado a "abce". Si actualizo mi copia de trabajo, mi archivo será "abce" y se perderá "abcd", ¿verdad? – alwbtc

+0

Y, ¿cuál es la "copia de trabajo"? ¿El de CVS repositry, o el de mi computadora local? – alwbtc

+1

La copia de trabajo es su directorio en el que desea hacer la llamada 'cvs commit'. La parte del servidor se llama repositorio. 'cvs update' no sobrescribirá tus cambios (a menos que pases el indicador' -C'), pero si estás preocupado, primero puedes hacer 'cvs diff> myChanges.patch' para guardar tus modificaciones en un parche. – DarkDust

1

Además, en caso de que pueda obtener el error a veces para ACTUALIZAR su versión local. La solución final es:

1. Save your local code to another place manually

2. Revert the files which may has conflict to the HEAD (most latest) version on CVS server.

3. Add back your change to the Reverted file.

El concepto para la solución anterior es para aclarar todo el posible problema de revertir y obtener una versión limpia del 100% desde el repositorio a continuación, volver a agregar nuestros cambios.

Se puede resolver a continuación los problemas causados ​​por código desfasado/base de código en mal estado.

  1. CVS commit had a conflict and has not been modified
  2. CVS update failed
  3. CVS not sync
Cuestiones relacionadas