Как заставить SVN понять, что двоичный файл изменился, если размер файла зафиксирован - PullRequest
4 голосов
/ 11 января 2010

Я работаю с программой, которая записывает данные в двоичные файлы фиксированного размера, которые я храню в архиве Subversion.

Проблема, однако, в том, что SVN (как клиент командной строки, так и TortiseSVN) считает, что, поскольку размер файла не изменился, сам файл не изменился и не должен его фиксировать.

Есть ли способ изменить используемый метод сравнения, или мне нужно прибегнуть к таким хаки, как добавление фиктивного свойства в файлы?


РЕДАКТИРОВАТЬ : Оказывается, решение было не из-за размера файла. Я просто автоматически предположил, что так и будет, так как большинство разнохарактерных альторитимов делают это постоянно. [ласка слов]

Ответы [ 4 ]

6 голосов
/ 11 января 2010

См. здесь для описания того, как SVN определяет, изменен файл или нет.

3 голосов
/ 11 января 2010

Вы абсолютно уверены, что файлы изменились? Subversion может обрабатывать и обрабатывает двоичные файлы , и у них есть действительный алгоритм сравнения; это не просто взгляд на размер файла. Subversion обнаруживает изменения файла в двоичные файлы, но размер не изменился.

2 голосов
/ 11 января 2010

Восстановлено самостоятельно.

Оказывается, что программа, которая изменила файлы, также работала с метаданными файла, что запутало SVN.

2 голосов
/ 11 января 2010

Вы уверены, что файл изменился? то есть разные байты. Я почти уверен, что Subversion использует алгоритм двоичного различия и не зависит от размера файла.

...