2011-09-08 12 views
10

próbuję popełnić moje zmiany do repozytorium CVS, ale pojawia się następujący błąd:Jak rozwiązać problem, gdy popełnienie zmian do repozytorium

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! 

Dlaczego to niepowodzeniem popełnić moje zmiany? Jak mogę "poprawić powyższe błędy"?

Odpowiedz

17

Najpierw należy zaktualizować kopię roboczą, uruchamiając cvs up, ponieważ ktoś już zaktualizował te pliki podczas pracy nad nimi. CVS nie może automatycznie scalić tych zmian podczas zatwierdzania.

+1

Ale jeśli zaktualizuję swój egzemplarz roboczy, stracę moje edycje, prawda? Mam na myśli, powiedzmy, że plik zawiera "abc", chcę uczynić go "abcd", ale ktoś już zaktualizował go do "abce". Jeśli zaktualizuję swoją kopię roboczą, mój plik będzie "abce", a "abcd" zostanie utracone, prawda? – alwbtc

+0

Co to jest "kopia robocza"? Ten w repozytorium CVS, czy ten w moim lokalnym komputerze? – alwbtc

+1

Kopią roboczą jest twój katalog, w którym chcesz wykonać wywołanie 'cvs commit'. Część serwera nazywa się repozytorium. 'update cvs' nie spowoduje nadpisania twoich zmian (chyba, że ​​podasz flagę' -C'), ale jeśli się martwisz, możesz najpierw zrobić 'cvs diff> myChanges.patch', aby zapisać zmiany w łatce. – DarkDust

1

Dodatkowo, na wypadek, gdyby czasami pojawił się błąd, aby ZAKTUALIZOWAĆ wersję lokalną. Ostateczne rozwiązanie jest:

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.

Koncepcja powyższego rozwiązania jest to, aby wyjaśnić wszystkie możliwe zagadnienia przez powrócić i uzyskać czystą 100% wersję z repozytorium, a następnie dodać z powrotem nasze zmiany.

Może rozwiązać poniższe problemy, które zostały spowodowane niepoprawnym kodem/bazą kodu.

  1. CVS commit had a conflict and has not been modified
  2. CVS update failed
  3. CVS not sync
Powiązane problemy