Мерджу бранчи. Обнаружились конфликты. Открываю вин-мерджем первый файл. Ресолвю. Сохраняю. Закрываю. AnkhSVN говорит -- вы там как, заресолвили конфликт? Я говорю -- ага, и перехожу к следующему файлу.
Ресолвю следующий файл (самый длинный). Сохраняю. Закрываю. AnkhSVN молчит. Открываю опять редактирование конфликтов. А ТАМ НИЧЕГО НЕ ПРИМЕНЕНО! Для теста внёс одну правку, сохранил, открыл заново -- пропала!
О, это дивное чувство, когда ты делаешь изменения, а они не применяются!
Стал расследовать.
ОКАЗАЛОСЬ, что при трёхстороннем мердже, который происходит при ресолве конфликтов, создаются три файла -- file1.left (read-only, "their file"), file1.right (его можно редактировать, "mine file") и file1.cpp (результирующий). Отображаются только первые два. ОДНАКО, когда происходит сохранение, файл file1.right сохраняется в file1.cpp! Поэтому при каждом открытии я вижу file1.left, в котором изменений нет!
А баг тут в том, что AnkhSVN не "подхватил" то, что я закончил редактирование. Не знаю, почему это произошло несколько раз (потом опять стал отображать). Пока не отображал, я сохранял файл, а потом НЕ ОТКРЫВАЯ КОНФЛИКТ ЗАНОВО помечал, что он заресолвен.