2009-02-03 3 views
2

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

Пожалуйста, Ричард (или другие), можете ли вы рассказать мне, как узнать маркированный тип в 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, я пытался много других вариантов, но так же и тот же файл всегда поврежден.

Спасибо. Кристиан.

+0

Быстрый вопрос: gif-файлы, помеченные как двоичные файлы в CVS? –

+0

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

ответ

1

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

+0

Жаль, что вам не повезло; вот еще одно сообщение, которое поможет http://markmail.org/thread/iup7e3kdhsurgvja –

4

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

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

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

# 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 

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

EDIT: Из cvs2svn руководства:

--auto-реквизита = FILE

Укажите файл в формате конфигурационного файла в Subversion, чьи [Автосвойства] секция может быть использована установить произвольные свойства в файлах в репозитории Subversion на основе их имен файлов. (Должен присутствовать заголовок секции [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 сценарий

+0

Я работаю с brainkiller, и я благодарю вас за ваш ответ (+1 кстати). Однако, похоже, проблема заключается в опции mime-types-file: из-за того, что файл mime-types не учитывается. Если бы это было так, мы могли бы убедиться, что все рассматривается как двоичное. – VonC

3

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

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

Также из FAQ:.

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

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

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

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

+0

Спасибо, Ричард, и +1 за эти указатели. Мы с Брайнкиллером изучаем это прямо сейчас. Одна из проблем заключается в том, что мы cvs2svn на платформе Windows, из CVS-репо из Unix ... – VonC

+0

@VonC: Забавно, я вхожу в то же самое. CVS в Unix -> SVN в Windows. К сожалению, SOX не позволяет мне касаться систем, поэтому я не могу экспериментировать с вами. Во всяком случае, наши двоичные файлы отлично работают с использованием --default-style = native. –

+0

@Richard Morgan: вы используете скрипт python cvs2svn в версии 2.2.0? – VonC