2009-07-29 12 views
26

Pracowałem więc nad stroną typu wiki. Próbuję zdecydować, jaki najlepszy algorytm scalania artykułu jest jednocześnie edytowany przez dwóch użytkowników.Algorytmy trójstronnego scalania tekstu

Do tej pory rozważam użycie metody Wikipedii scalania dokumentów, jeśli edytowane są dwa niepowiązane obszary, ale odrzucenie starszej zmiany, jeśli dwie konflikty się nie zgadzają.

Moje pytanie brzmi: jeśli mam oryginalny artykuł i dwie zmiany w nim, jakie są najlepsze algorytmy scalania ich, a następnie radzenia sobie z konfliktami w miarę ich powstawania?

Odpowiedz

29

Znakomity papier Billa Ritchera "A Trustworthy 3-Way Merge" mówi o kilku popularnych funkcjach z trzema sposobami scalania i mądrymi rozwiązaniami, z których korzystały komercyjne pakiety SCM.

Połączenie w trzech kierunkach automatycznie zastosuje wszystkie zmiany (które nie zachodzą na siebie) z każdej wersji. Sztuczka polega na tym, aby automatycznie obsłużyć jak najwięcej prawie pokrywających się regionów.

+0

Fajny papier, dzięki za link! – icco

+0

Zmieniam adres URL, ponieważ ten, który podałeś, jest teraz 404. Mam nadzieję, że wciąż odnosi się do tego samego artykułu. – ChrisW

+0

Tak, to wszystko. Dzięki za aktualizację! –

2

Szczerze mówiąc, polegałbym na diff3. Dotyczy to prawie każdej dystrybucji Uniksa i zawsze możesz skompilować i spakować plik .EXE dla Windows, aby upewnić się, że jest dostępny dla twoich celów.