2009-10-23 15 views
36

W moim repozytorium mam dwie wersje. Kod src jest w wersji 2, ale miałem plik, który zawiedli, więc przywróciłem go do wersji 1.Jak mogę naprawić ten błąd SVN, który kończy się niepowodzeniem jako "nieaktualny"?

Po kilku godzinach debugowania ten javafile działa, ale nie mogę go zatwierdzić. SVN mówi, że javafile jest nieaktualny. Jest tak prawdopodobnie dlatego, że edytuję javafile.java rev1, prawda?

Jak rozwiązać ten problem? Wiem, że mogłem skopiować/wkleić mój zmodyfikowany kod revv javafile do jego rev2, a następnie zatwierdzić, ale czy jest inny sposób? Czy używam SVN nieprawidłowo?

+1

Uwaga jest to opisane w rozdziałach "Podstawowe użytkowanie" książki SVN: http://svnbook.red-bean.com/en/ 1.7/svn.tour.cycle.html # svn.tour.cycle.resolve – Ben

Odpowiedz

59

Aktualizacja kopii roboczej powinna to naprawić.

Z wiersza poleceń:

X:\WorkingCopy>svn up 

lub prawym przyciskiem myszy i wybierz SVN Update... w TortoiseSVN

Po aktualizacji, można natknąć się konflikty, które zostaną oznaczone w kodzie z

>>>>> 
... 
----- 
... 
<<<<< 

Musisz ręcznie rozwiązać te problemy. Kiedy skończysz, nie zapomnij oznaczyć pliku jako rozwiązany.

X:\WorkingCopy>svn resolve \path\to\file 

lub kliknij prawym przyciskiem myszy i wybierz TortoiseSVN -> Mark as Resolved... w TortoiseSVN

+2

Co się jednak stanie, jeśli zmienię niektóre metody? Jak mam to rozwiązać? :( – lemon

+0

Konflikty oznaczają, że ty i ktoś inny wprowadziliście zmiany w tej samej wiązce kodu. Zobaczysz znaczniki w swoim kodzie źródłowym: >>>>>> --------- i <<<<<< Teraz pokażą ci różne wersje kodu.Będziesz musiał posortować się z innymi programistami, który kod jest prawidłowy –

+2

Możesz w większości zapobiec dużym, bolesnym konfliktom, postępując zgodnie z poradą: "Zatwierdź wcześnie, popełnij często " –

4

Aktualizacja kopia robocza i rozwiązywać konflikty scalania kopiując plik wynikowy, który ma swoją lokalnie zmodyfikowanej wersji w stosunku do wersji z markerów konflikt w w. Uruchom na nim svn resolved i sprawdź to. Zakłada się, że nie ma innych zmian, które chcesz zachować.

6

Miałem ten problem w Eclipse (Windows 10). Zostało to rozwiązane przez kliknięcie prawym przyciskiem myszy na folderze, którego dotyczy pytanie,> Zespół> Aktualizuj na HEAD

Powiązane problemy