2011-09-08 11 views
10

sto cercando di commettere i miei cambiamenti al repository CVS, ma ottengo il seguente errore:Come risolvere problema quando commettere un cambiamento al 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! 

Perché fallire a commettere i miei cambiamenti? Come posso "correggere gli errori precedenti"?

risposta

17

È necessario aggiornare prima la copia di lavoro eseguendo cvs up perché qualcuno ha già aggiornato questi file mentre si lavorava su di essi. CVS non può unire automaticamente queste modifiche durante il commit.

+1

Ma se aggiorno la mia copia di lavoro, perderò le mie modifiche, no? Voglio dire, dire che il file contiene "abc", voglio renderlo "abcd", ma qualcuno lo ha già aggiornato ad "abce". Se aggiorno la mia copia di lavoro, il mio file sarà "abce", e "abcd" andrà perso, giusto? – alwbtc

+0

E qual è la "copia di lavoro"? Quello in repositry CVS, o quello nel mio computer locale? – alwbtc

+1

La copia di lavoro è la directory in cui si desidera effettuare la chiamata 'cvs commit'. La parte server è chiamata repository. 'cvs update' non sovrascriverà le tue modifiche (a meno che non passi il flag' -C'), ma se sei preoccupato puoi prima fare 'cvs diff> myChanges.patch' per salvare le tue modifiche in una patch. – DarkDust

1

Inoltre, nel caso in cui si possa ottenere a volte l'errore di AGGIORNARE la versione locale. La soluzione finale è:

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.

Il concetto per soluzione di cui sopra è quello di chiarire tutta la questione possibile da REVERT e ottenere una versione pulita al 100% dal repository quindi aggiungere di nuovo i nostri cambiamenti.

È in grado di risolvere i seguenti problemi causati da codice scaduto/codice scaduto.

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