Таинственная неизменность появляется в TortoiseSVN / TortoiseMerge
-
06-07-2019 - |
Вопрос
Я использую TortoiseSVN для контроля версий. В рабочем кутье, с которым я работаю неделями, я вдруг вижу ряд «измененных» файлы, отображаемые в " SVN commit .. " диалог, который я определенно не коснулся и который не содержит никаких реальных отличий:
alt text http://www.pekkagaiser.de/TortoiseMerge.gif р>
Я не менял кодировки этих файлов и не выполнял никаких других операций с ними, насколько я помню. Кто-нибудь знает, что это такое и как от него избавиться?
РЕДАКТИРОВАТЬ: Поведение появилось снова. Черепаха требует «изменения текста», хотя их не было:
alt text http://www.stadtpflanzen.de/images/StackOverflow1.gifа> р>
Решение
Хорошо, давайте выберем большие пушки. : -)
Извлеките файл (styles.css, редакция 40) в отдельный каталог.
Запустите программу, которая вычисляет md5 (например, md5
, md5sum
или openssl md5
) как для вашей рабочей копии, так и для копии репозитория. Если вы получите разные ответы, файлы будут другими, и TortoiseMerge не покажет вам что-то важное. Если в итоге вы получите один и тот же ответ (пренебрегая маловероятно вероятным случаем, когда два разных, но очень похожих файла имеют два идентичных хеша md5), то файлы, очевидно, идентичны, и у TSVN есть некоторая проблема. (может быть, он смотрит на дату файла?)
edit: единственный патологический случай, который приходит мне в голову, это то, что, возможно, файл имеет другую кодировку (например, UTF-8 против ASCII) ... Я обновился с WinXP SP2 до SP3 несколько месяцев назад, и иногда я сталкиваюсь со странными вещами (очевидно, UTF-8 метки порядка байтов ), где первые несколько символов странно появляются в текстовых редакторах.
Дайте нам знать, что вы найдете!
Другие советы
Возможно, вы использовали новый " отслеживание слияний " особенность SVN 1.5+? При объединении он добавляет / изменяет свойство svn: mergeinfo
для задействованных файлов, даже тех, которые не были изменены. Затем они отображаются в виде изменений, которые будут внесены.
Окончания строк могут измениться, если в ваших текстовых файлах для свойства svn: eol-style
не установлено значение native
и если вы только что открыли их в редакторе затем сохранил их.
Некоторые редакторы и инструменты автоматически преобразуют файлы в их собственную версию EOL (например, изменяя конец строки LF на CRLF).
Проверьте эту ссылку, чтобы получить полное описание этого свойства .
svn: eol-style
должен быть установлен вручную для каждого текстового файла, поэтому есть способ сделать это автоматически по расширению файла, отредактировав файл конфигурации клиента - используйте настройки TortoiseSVN, общие настройки, редактировать файл конфигурации Subversion; или проверьте эту ссылку и найдите запись enable-auto-props
.
Посмотрите в Repo-браузере. Есть столбцы, показывающие, изменилось ли содержимое файла или изменились ли свойства файла. Похоже, что свойства изменились, но не файл.