Если файл DFM был обработан Subversion как текст, предполагая, что у пользователя были локальные изменения, он попытается выполнить слияние. Там, где есть конфликты, и Subversion не может их разрешить, он добавит дополнительную информацию, чтобы помочь вам вручную разрешить конфликты, вы увидите текст, подобный <<<<<<< .mine
, который, конечно, будет работать в Delphi. Также возможно, что Subversion автоматически выполняет слияние, которое не конфликтует, а приводит к повреждению файла DFM.
Причина, по которой вы не видели проблему, вероятно, заключалась в том, что у вас не было локальных изменений, поэтому слияние не было необходимо. При удалении или возврате файлов рабочая копия возвращается на BASE, поэтому при любом обновлении не требуется выполнять слияние.
Одно решение: если у вас есть текстовые файлы, которые не должны быть объединены с помощью Subversion, тогда установите svn: mime-type на соответствующее нетекстовое значение, и оно обрабатывать его как двоичный файл и не будет пытаться выполнить слияние. Вы должны будете вручную решить проблему. Кстати, это также хороший совет, если вам нужно хранить конфиденциальные текстовые файлы в Subversion и не хотите, чтобы diff отображал содержимое :)