2012-05-04 76 views
6

Jeśli zrobię aktualizację w SVN, która powoduje konflikt SVN oferuje mi szereg opcji obsługi konfliktu każdego pliku, w tym akceptacji pliku, uruchomienia zewnętrznego programu scalającego lub odłożenia rozwiązania konfliktu.SVN. Spróbuj ponownie interaktywnego rozwiązywania konfliktów

Jeśli zdecyduję się odroczyć rozwiązanie konfliktu, w jaki sposób uzyskać SVN, aby powtórzyć proces rozwiązywania konfliktu. Konkretnie, w jaki sposób mogę przekonać SVN do ponownego wyboru wyboru akceptacji pliku lub uruchomienia zewnętrznego narzędzia do scalania?

[Aktualizacja] W odpowiedzi na odpowiedzi Thomasa i Skippy.

Dzięki za odpowiedzi. Wygląda na to, że SVN nie ma polecenia ponownego uruchomienia procesu rozwiązywania konfliktów. Osobiście uważam, że to jest do bani.

Jednym z wyborów procesu rozwiązywania konfliktów SVN jest opcja wyboru pliku, który chcę zachować. Zrobić to w SVN ma tę zaletę, że sam SVN zajmuje się kopiowaniem i usuwaniem odpowiednich plików, co wyklucza potrzebę, aby użytkownik bałaganił bezpośrednio z systemem plików i zmniejszył prawdopodobieństwo popełnienia błędu.

Kolejnym wyborem oferty procesu rozwiązywania konfliktów SVN jest opcja uruchomienia zewnętrznego edytora scalania. Uruchomiony edytor i sposób jego konfiguracji można skonfigurować w pliku konfiguracyjnym SVN. Jest to bardzo wygodne, ponieważ oznacza to, że użytkownik nie musi ręcznie ładować trzech plików do zewnętrznego edytora scalania.

Poza tym po prostu nie został zakodowany, czy jest jakikolwiek powód, dla którego SVN nie oferuje możliwości ponownego uruchomienia procesu rozwiązywania konfliktów? (Być może przez wywołanie svn resolve z tylko argumentem ścieżki). Innym powodem, dla którego byłoby to miłe, jest to, że może zaoferować wybór rozwiązania jednego pliku lub rekursywnie funkcji na kopii roboczej lub poddrzewie w kopii roboczej.

+0

Dokładnie, zabija wygodę opcją nieinterakcyjnym, aby zaoszczędzić czas zakończeniu scalania a następnie rozwiązuje. :( – ronnyfm

Odpowiedz

2

w SVN 1.8.8 jeśli uruchomić „svn determinację” na pliku zainteresowania, SVN będzie oferować interaktywne rozwiązywanie konfliktów

2

Po prostu nie można go dostać, aby ponownie zaoferować wybór. Nie masz wyboru, ale z następujących:

  • scalić tekst skonfliktowany „ręcznie” (poprzez analizę i edycję markery konfliktowych w pliku).

  • Skopiuj jeden z plików tymczasowych nad roboczym plikiem.

  • Uruchom svn, aby odrzucić wszystkie lokalne zmiany.

Po rozwiązaniu konfliktu, trzeba pozwolić Subversion wiedzieć działa svn rozwiązany. Spowoduje to usunięcie trzech plików tymczasowych, a subversion nie będzie już uważać pliku za konflikt w stanie . [6]

(od http://chestofbooks.com/computers/revision-control/subversion-svn/Postponing-Conflict-Resolution-Tour-Cycle-Resolve-Pending.html)

+0

Istnieje czwarta opcja - możesz ręcznie uruchomić program scalający z plikami '.mine',' .rOLDREV' i '.RNEWREV' oraz z podstawową nazwą pliku (wersjonowanym plikiem) jako wyjściem scalającym. svn robi, gdy uruchamia zewnętrzny program scalający. – george

0

SVN nie poprosi ponownie. Jednak po uruchomieniu svn stat z wiersza poleceń powinieneś zobaczyć listę konfliktów plików. Będą one oznaczone "C", tak jak w przypadku zmodyfikowanego pliku pojawi się "M" lub jeśli istnieje plik, który nie został dodany, pojawia się znak "?".

Teraz musisz ręcznie uruchomić svn resolve na każdym z plików.

Powiązane problemy