2009-07-10 13 views
11

Kiedy mam kilka konfliktów, czy istnieje sposób, aby je wszystkie rozwiązać, po prostu mówiąc SVN, aby zachować wersję, która jest w repozytorium? Niestety nadal używamy wersji 1.4.Subversion szybko rozwiązać wszystkie konflikty

+3

dlaczego chcesz to zrobić? powiedzmy, że dokonałeś 200 zmian linii, a ktoś zaznaczył plik tuż przed tobą, który po prostu dodał kilka komentarzy, powodując konflikt. Czy chcesz po prostu odrzucić swoją 200-liniową zmianę? –

+3

Jest to przypadek, w którym wiem, że wszystkie zmiany w kopii roboczej są niepotrzebne i chcą używać wersji repos. – nategood

Odpowiedz

29

Wierzę, że jeśli uruchomisz polecenie svn revert . -R, zasadniczo cofasz wszystkie zmiany w kopii roboczej. W przypadku konfliktów plików, SVN usuwa twoje zmiany i używa wersji ostatnio zaktualizowanej.

To oczywiście pozbywa się również zmian w plikach, które nie są w konflikcie.

+1

SVN wyrzuca twoje zmiany i używa wersji, którą pierwotnie wyrejestrowałeś; nadal musisz wykonać aktualizację svn, aby pobrać bieżącą wersję HEAD z repozytorium. –

+0

@Roger: ale jeśli masz sprzeczne pliki, uruchomiłeś svn up. Jest to wersja, która została pobrana z repozytorium, do którego powraca svn (chyba że to się zmieniło, przetestowałem to z 1.6.3). –

+0

wyjaśnił moją odpowiedź odpowiednio :) –

5

Aktualizacja svn. - czy jest ich pełna wersja - pełna

Czy to nie jest dostępne w wersji 1.4?

Możesz spróbować uruchomić klienta 1.5 na serwerze 1.4, może działać.

+0

Uruchomiłem klienta 1.5 z serwerem 1.4 na chwilę. W większości przypadków działa dobrze, ale z jednej strony tracisz automatyczne śledzenie korespondencji seryjnej. Zobacz "obawy dotyczące zgodności" w uwagach do wydania 1.5 (http://subversion.tigris.org/svn_1.5_releasenotes.html). –

0

Można spróbować

svn st | awk '/^C/ { print $2 }' | xargs svn revert 

to przywrócić wszystkie pliki z konfliktami

Powiązane problemy