@tef

Какой общий алгоритм у системы контроля версий?

Вопрос не совсем про git и svn. Я хочу сделать сервис в основе которого будет пользовательское редактирование одного и того же текста. Но я не могу вникнуть в алгоритм работы. Проблема в том, что если участники будут работать над одним и тем же участком, то побеждает то изменение, которое было последним?
Для примера могу предложить взять википедию или нотабенойд.
  • Вопрос задан
  • 536 просмотров
Решения вопроса 2
DmitryVoronkov
@DmitryVoronkov
Python Developer
Побеждают, те изменение, которое выбрал пользователь при слиянии. Во например:
Есть строка: ABCD
1 изменение: ACBD
2 изменение: ACBE
3 изменение: DCBA
Строка состоит из символов:
A -> D
B -> C
C -> B
D -> E -> A
У первых трех символов конечное изменение совпадает, значит они безусловно будут приняты
А у последнего нужно пользователю, которые выполняет слияние выбрать E или A
То есть либо конечный результат:
DCBE
DCBA
Ответ написан
maaGames
@maaGames
Погроммирую программы
И зачем вы хотите создать то, принцип работы чего не понимаете?
Кстати, обнаружение изменений в исходных текстах гораздо проще реализовать, чем поиск изменений в обычном тексте.
Если говорить по сути вопроса. Если обнаруживается изменение одного и того же фрагмента, то, во-первых, предлагается сделать апдэйт, чтобы получить изменение в файле. Во-вторых, уведомляете о возникновении конфликта и предлагаете разрешить коллизию в ручном или автоматическом режиме. В ручном всё очевидно, в автоматическом или по дате изменения брать или по количеству изменений.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы