типы mime cvs2svn - PullRequest
       23

типы mime cvs2svn

2 голосов
/ 03 февраля 2009

Чтобы учесть комментарий Ричарда и ответ Стину о том, что я должен указать независимо от типа файла mime и независимо от файла типа, отмеченного в CVS, я ищу, как обрабатывать все файлы как двоичный файл в cvs2svn? Возможно не возможно?

Пожалуйста, Ричард (или другие), расскажите, пожалуйста, как узнать помеченный тип в CVS для данного файла?


Здравствуйте, Как рассматривать все файлы как двоичный файл?
Все 16 проходов (из cvs2svn) выполнены правильно, но несколько двоичных файлов повреждены (например, .gif). Там не рассматриваются как двоичный файл!

Командная строка, которую я использовал:

python C:\noinstaller\cvs2svn-2.2.0\cvs2svn -s "SVN_REPO" "CVS_REPO" --use-cvs
--encoding=latin1 --mime-types=svn-mime-types --eol-from-mime-type 
--keywords-off --sort=C:\noinstaller\UnxUtils\usr\local\wbin\sort.exe

После прочтения CVS2SVN FAQ я перепробовал много других вариантов, но один и тот же файл всегда поврежден.

Спасибо. Christian.

Ответы [ 3 ]

4 голосов
/ 03 февраля 2009

Subversion использует эвристический алгоритм, чтобы определить, является ли файл двоичным или нет. Во-первых, он проверяет, установлен ли параметр конфигурации mime-types-file, и использует его для сопоставления файлов mime-типам. Если такая конфигурация не найдена, она просматривает 1024 первых байта, и если более 15% находятся вне диапазона ASCII или любое из них имеет нулевые значения, файл считается двоичным. Чтобы специально установить MIME-тип для данного типа файла, вы должны использовать auto props .

Обратите внимание, что если Subversion определит, что ваш файл имеет тип mime image/x-xbitmap или image/x-xpixmap, он будет обрабатываться как текстовый файл

Авто-реквизиты влияют на действия svn add и svn import и задаются с помощью конфигурации времени выполнения , которая указывается либо в параметрах командной строки, либо в файле config для Subversion, находится в каталоге установки subversion. Должны быть установлены следующие значения:

# default is 'no', so we enable auto props with
enable-auto-props = yes

# specify absolute path to mime.types like file, e.g.
mime-types-file = /etc/mime.types

Это должно правильно сопоставить ваши двоичные файлы.

РЕДАКТИРОВАТЬ: Из cvs2svn руководство:

- auto-props = FILE

Укажите файл в формате файла конфигурации Subversion, чей Секция [auto-props] может быть использована для установки произвольных свойств файлы в хранилище Subversion на основе их имен файлов. (The заголовок раздела [auto-props] должен присутствовать; другие разделы Конфигурационный файл, включая настройку enable-auto-props, игнорируется.) Имена файлов сопоставляются с шаблонами имен файлов без учета регистра, в соответствии с поведением Subversion. Файл авто-реквизита может иметь такой контент:

[auto-props]
*.txt = svn:mime-type=text/plain;svn:eol-style=native
*.doc = svn:mime-type=application/msword;!svn:eol-style

Итак, с помощью переключателя командной строки --auto-props и авто-реквизита файл, вы должны быть в состоянии получить желаемую функциональность cvs2svn скрипт

3 голосов
/ 04 февраля 2009

Что касается вопроса о том, как cvs2svn обрабатывать все файлы как двоичные, я могу лишь указать на раздел в FAQ, касающийся EOL

Начиная с версии 2.0, поведение cvs2svn по умолчанию заключается в обработке всех файлов как двоичных, кроме тех, которые явно определены как текстовые.

Также из FAQ:

Если файл помечен как двоичный в CVS (с помощью cvs admin -kb, то cvs2svn всегда будет обрабатывать файл как двоичный.

Чтобы узнать, помечен ли файл как двоичный, найдите параметр -kb для файла в CVS. В WinCVS для этого есть столбцы и кодировка.

К сожалению, у меня нет решения для вас, но я бы попытался упростить аргументы вашей команды, чтобы сосредоточиться на том, что именно не работает для этих файлов. Использование файла --auto-props даст вам полный контроль над каждым файлом. Если ваш файл CVS «чистый» (то есть все файлы правильно переданы как текстовые и двоичные), параметр --default-style = native предположительно дает наилучшие результаты.

Удачи и дайте нам знать, что работает для вас.

1 голос
/ 13 февраля 2009

Выводу невозможно заставить cvs2svn рассматривать все файлы как двоичный файл.

...