2013-09-24 5 views
1

У нас возникли проблемы, когда сотрудники несут файлы SQL * * .SQL случайно или по ошибке как двоичные файлы вместо текста. Есть простой способ изменить формат в Collabnet Subversion файлов, заканчивающихся на * .SQL, на текст. Проблема в том, что Subversion не показывает версию правильно, когда она выполняет DIFF между текстовым файлом & двоичным. Если мы снова зафиксируем текст, это текст для текста DIFF. Текст Binary DIFF показывает, что это ниже, когда есть изменения:Файлы Subversion ошибочно записываются как двоичные

- No changes - 
Diff Legend 

– Removed lines 
+ Added lines 
< Changed lines 
> Changed lines 

Любой простой способ преобразовать или предотвратить неправильное фиксирование? В любом случае subversion может проверить расширение * .sql и преобразовать/предотвратить его как выполняемое как двоичное? Любой способ идентифицировать все файлы, заканчивающиеся на * .SQL, которые сохраняются как двоичные вместо текста в subversion? Можно ли это сделать в рамках подрывной деятельности или с черепахой без каких-либо других инструментов?

ответ

3

Subversion не имеет текстового или двоичного режима с файлами. Все файлы хранятся в том же формате.

В Subversion все файлы двоичных файлов - это то, что Subversion не должен пытаться объединить этот файл или сделать текст diff на нем.

Subversion определяет, является ли файл текстовым файлом, установив свойство файла с именем svn:mime-type. Если это не задано, файл является текстовым файлом. Если он установлен, предполагается, что файл является двоичным. (Он все равно может считаться текстовым файлом, если тип mime начинается с text/, но я не уверен на 100% ...)

Что вам нужно сделать, это настроить файл типа mime, чтобы понять, что *.sql файлы - это текстовые файлы. Если вы используете Apache httpd для своего сервера Subversion, вы можете отредактировать файл mime-types, который обычно находится в каталоге conf, где находится httpd.conf.

Вы также можете установить это для каждого пользователя, установив файл $HOME/.subversion/config в Unix или отредактировав записи реестра Subversion в Windows.

Что вы делаете, это установить файл mime, а затем указать запись mime-types-file в этот файл.

MIME types file - это просто двухстоечное дело с MIME-типом в первом столбце и суффикс во втором столбце. Вам нужно добавить что-то вроде этого:

text/sql    sql 

Это будет гарантировать, что любой файл, который заканчивается в *.sql представляет собой текстовый файл.

Для файлов, которые вы ввели, просто удалить свойство на них:

$ svn propdel svn:mime-type *.sql 
$ svn commit -m"Making my SQL files text files" 
Смежные вопросы