Rozwiązywanie konfliktu drzew

84

Jak rozwiązać konflikt drzew w aktualnej scenerii.

C:\DevBranch
C:\MyBranch

Zaktualizowałem obie gałęzie. Edytowano MyBranch, a następnie ponownie zatwierdzono. Teraz chcę scalić te zmiany w DevBranch. Podczas łączenia otrzymuję komunikat „Konflikty drzew”

The last merge operation tried to add the file 'abc.def', but it was already added locally.

How do you want to resolve this conflict?
Keep the file from repository
Keep the local file

Jak mogę to rozwiązać?

coure2011
źródło

Odpowiedzi:

167

To, co możesz zrobić, aby rozwiązać swój konflikt, to

svn resolve --accept working -R <path>

gdzie <path>jest twój konflikt (może być źródłem twojego repozytorium).

Objaśnienia:

  • resolveprosi svno rozwiązanie konfliktu
  • accept working określa, aby zachować pliki robocze
  • -R oznacza rekurencyjny

Mam nadzieję że to pomoże.

EDYTOWAĆ:

Podsumowując, co zostało powiedziane w komentarzach poniżej:

  • <path>powinien być katalogiem w konflikcie ( C:\DevBranch\w przypadku PO)
  • prawdopodobnie przyczyną konfliktu jest
    • użycie svn switchpolecenia
    • lub po zaznaczeniu Switch working copy to new branch/tagopcji przy tworzeniu oddziału
  • Więcej informacji o konfliktach można znaleźć w dedykowanej sekcji dokumentacji Żółwia .
  • aby móc uruchomić polecenie, powinieneś mieć zainstalowane narzędzia CLI razem z Tortoise:

Narzędzia klienta wiersza poleceń

Yannick Blondeau
źródło
jaka powinna być ścieżka? C: \ DevBranch czy C: \ MyBranch?
coure2011,
2
Tak powinno być C:\DevBranch. BTW, czy użyłeś svn switchpolecenia w jednym z tych dwóch folderów?
Yannick Blondeau
1
Myślę, że podczas tworzenia gałęzi użyłem „przełączania katalogu roboczego”
coure2011,
@Luke Możesz to zrobić w ten sposób, jeśli zainstalowałeś narzędzia CLI razem z Tortoise. Tylko cddo katalogu głównego kopii roboczej i wykonaj svn resolve --accept working -R ./. Jeśli potrzebujesz więcej informacji na temat robienia tego z Tortoise, zajrzyj do dedykowanej sekcji dokumentacji ... Mam nadzieję, że to pomoże!
Yannick Blondeau
0

Zasadniczo, konflikty drzew pojawiają się, jeśli nastąpi zmiana struktury folderów w gałęzi. Musisz usunąć folder konfliktu i użyć go svn cleanraz. Mam nadzieję, że to rozwiąże twój konflikt.

Ujjwal Raj Shah
źródło