2011-08-06 10 views
20

Kiedy zrobiłem svn update, a SVN zapytał mnie o kilka różnic, kazałem to odłożyć na później.Aktualizacja SVN Odłóż -> Jak rozwiązać?

Teraz chciałbym je rozwiązać, ale svn update po prostu mówi mi "na bieżąco", chociaż svn diff pokazuje mi różnice.

W jaki sposób mogę ponownie zapytać mnie o konflikty svn update?

+0

Co ze statusem 'svn status'? 'aktualizacja svn' nie powinna wyprowadzać niczego tak długo, jak nic nie dodaje do centralnego repozytorium – zerkms

+0

co pokazuje" status svn "? Coś o listach zmian? –

+0

@zerkms: 'svn status' pokazuje wiele plików z'? 'Z przodu, a także niektóre pliki' M' i 'C' (nie masz pewności, co one oznaczają). – Mehrdad

Odpowiedz

16

svn update nie będzie ponownie pytać o konflikty, ponieważ poradził sobie z nimi.

chodzi o znaczeniu svn status, The ? pliki nie są zarządzane przez SVN, że M te zostały zmodyfikowane, a C te są skonfliktowane te, które przełożone. Jeśli otworzysz jeden z plików C i przejrzysz go, zobaczysz w kodzie znaczniki wskazujące, gdzie znajdują się konflikty. Musisz edytować każdą z nich, naprawić konflikty i usunąć znaczniki. A następnie musisz uruchomić svn resolve, aby powiedzieć SVN, że wszystko jest w porządku. Upewnij się, że używasz opcji --help i Google, aby dowiedzieć się, jak działa svn resolve przed uruchomieniem.

Jeśli tego nie zrobisz, svn commit przestanie działać.

svn status jest bardzo ważna do zrozumienia, ponieważ svn diff pokazuje tylko rzeczy, które miały miejsce lokalnie po svn update. Ale, svn status -u daje przegląd po wysłaniu zapytania do repozytorium. Co najważniejsze, wyraźnie identyfikuje pliki z konfliktami (C w kolumnie 1), które należy otworzyć w edytorze i sprawdzić ręcznie.

+27

Twoja odpowiedź jest pomocna, ale twój ton jest raczej niegrzeczny. Mam podobny problem jak oryginalny plakat (odkładałem niektóre zmiany po 'svn merge'), a ta strona SO była pierwszym wynikiem w Google! – knite

+1

Korekta: stan svn pojawi się tylko w repozytorium, jeśli podasz opcję "-u", w przeciwnym razie przegląda tylko pliki w katalogach .svn – ahawtho

6

Po uruchomieniu svn commit, pojawi się lista konfliktów plików. Następnie można rozwiązać konflikty poprzez wydawanie poleceń takich jak:

svn resolve --accept=theirs-full '/path/to/the/file' 

Type svn resolve --help do listy dostępnych trybów rozwiązywania konfliktów.

Powiązane problemy