merge vs patch
Victor Sudakov написал(а) к Alex Korchmar в Jul 17 22:14:36 по местному времени:
Dear Alex,
17 Jul 17 09:08, you wrote to me:
VS>> Чем отличается "merge file1 file2 file3" от "diff file2 file3 |
VS>> patch file1" с точки зрения внутренней кухни?
AK> именно тем, что merge знает о существовании file1, в отличие от diff,
AK> это 3-way diff.
AK> man diff3 - вот он ничем не отличается, да.
Спасибо. У меня в этой области пробел знаний. Хотя использую системы контроля версий не первый десяток лет, еще с RCS, но для отслеживания истории изменений, а не для collaboration.
VS>> Ну кроме того, что конфликты будут отражены внутри file1 вместо
VS>> ".rej".
AK> в rej вообще может ничего не попасть, а код работать не будет.
AK> Или наоборот - в file1 вообще может уже не быть нужного контекста.
AK> merge справится, потому что знает, куда он делся.
А если допустим Вася работает одновременно со мной над файлом, и потом щедро делится своими наработками:
hg diff -r300:400 file1 | mail sudakov
А я тоже этот файлик тем временем менял, и хочу еще и Васины наработки смержить, как мне присланный патч приложить посредством diff3 или merge к моему измененному файлу? Вася ведь не знает про мой файл, он мне только патч между своими версиями прислать может.
ЗЫ предполагается, что у меня и у Васи разные репозитории, или вообще нет репозиториев.
Victor Sudakov, VAS4-RIPE, VAS47-RIPN
--- GoldED+/BSD 1.1.5-b20160322-b20160322
|