Есть ли разница между алгоритмом работы команд diff3
и svn merge
? svn merge
использует тот же принцип или какой-то вариант того, как diff3
работает? Например, diff3
не объединяет автоматически изменения, если mine и их файлы имеют одинаковое содержимое, а svn up
или svn merge
.
Мой вопрос также тесно связан с автоматическим слиянием. Как это работает? Когда возникает конфликт, а когда нет? Очевидно, что конфликт возникает, когда редактируются одинаковые строки исходного кода, но бывают случаи, когда невозможно определить контекст слияния? Как svn merge
определяет это?
Я нашел следующий отрывок на странице «Копирование изменений между ветвями» из svn book:
... svn diff выводит только ограниченный
формат патча, так что есть некоторые идеи
это просто не может выразить. Свн
Команда слияния, однако, может выразить
изменения дерева, непосредственно применяя их
в вашу рабочую копию
Что это за различия? Я нигде не могу найти подробную информацию.