2

Richard のコメントと Steen の答えを考慮に入れるために、タイプ mime ファイルとは無関係に、また CVS でマークされたタイプ ファイルとは無関係に、すべてのファイルを cvs2svn でバイナリ ファイルとして扱う方法を探しています。おそらく不可能ですか?

Richard (または他の人) にお願いします。与えられたファイルの CVS でマークされたタイプを知る方法を教えてくれませんか?


こんにちは、すべてのファイルをバイナリ ファイルとして扱うにはどうすればよいですか?
(cvs2svn の) 16 回のパスはすべて正しく行われていますが、いくつかのバイナリ ファイルが破損しています (.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を読んだ後、他の多くのオプションを試しましたが、同じ同じファイルが常に破損しています。

ありがとう。キリスト教徒。

4

3 に答える 3

4

Subversion はヒューリスティック アルゴリズムを使用して、ファイルがバイナリかどうかを判断します。まず、mime-types-file構成パラメーターが設定されているかどうかを確認し、これを使用してファイルを MIME タイプにマップします。そのような構成が見つからない場合、最初の 1024 バイトが調べられ、15% 以上が ASCII 範囲内にない場合、またはそれらのいずれかが null 値である場合、ファイルはバイナリと見なされます。特定のファイル タイプの MIME タイプを具体的に設定するには、auto propsを使用する必要があります。

Subversion がファイルを MIME タイプimage/x-xbitmapまたはと判断した場合image/x-xpixmap、テキスト ファイルとして扱われることに注意してください。

auto-props はsvn addおよびsvn importアクションに影響を与え、実行時構成を使用して設定されます。これは、コマンド ライン オプションを介して指定されるか、subversion のインストール conf ディレクトリにある 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=ファイル

Subversion の構成ファイルの形式でファイルを指定します。その [auto-props] セクションを使用して、ファイル名に基づいて Subversion リポジトリ内のファイルに任意のプロパティを設定できます。([auto-props] セクション ヘッダーが存在する必要があります。config ファイルのその他のセクション (enable-auto-props 設定を含む) は無視されます。) ファイル名は、Subversion の動作と一致して、大文字と小文字を区別せずにファイル名パターンに一致します。auto-props ファイルには、次のような内容が含まれる場合があります。

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

したがって、コマンド ライン スイッチと auto-props ファイルを使用すると、スクリプト--auto-propsの必要な機能を取得できるはずです。 cvs2svn

于 2009-02-03T19:06:09.330 に答える
3

cvs2svn ですべてのファイルをバイナリとして扱う方法の問題については、EOLに関する FAQ のセクションを参照することしかできません。

バージョン 2.0 以降、cvs2svn のデフォルトの動作は、明示的にテキストであると判断されたものを除いて、すべてのファイルをバイナリとして扱うことです。

また、FAQ から:

ファイルが CVS でバイナリとしてマークされている場合 (cvs admin -kb を使用)、cvs2svn は常にファイルをバイナリとして扱います。

ファイルがバイナリとしてマークされているかどうかを確認するには、CVS でファイルの -kb オプションを探します。WinCVS には、これと Encoding の列があります。

残念ながら、解決策はありませんが、コマンド引数を単純化して、それらのファイルで正しく機能していないことに焦点を当てます。--auto-props ファイルを使用すると、各ファイルを完全に制御できます。CVS ファイルが「クリーン」(すべてのファイルがテキストおよびバイナリとして適切にコミットされていることを意味する) の場合、 --default-style=native パラメータが最良の結果をもたらすと思われます。

頑張ってください。何があなたに合っているか教えてください。

于 2009-02-04T13:05:30.697 に答える
1

cvs2svn にすべてのファイルをバイナリ ファイルと見なさせることは不可能だと思います。

于 2009-02-13T10:30:42.450 に答える