web-dev-qa-db-ja.com

ファイルをバイナリではなくテキストとして扱うようにSVNに明示的に指示する方法

Mimeタイプを正しく設定せずにSVNにチェックインしたファイルがいくつかあります。 SVNは最初にそれらをバイナリとして分類しました。

それ以来、propsetを介してSVNのMIMEタイプを "text/plain; charset = UTF-8"に設定し、すべてのファイルがUTF-8署名されていることを確認しました。 「svn blame filename」を実行すると、svnはファイルがバイナリであり、明示的な非難タイプの出力を提供しないと言います。

これらが本当にテキストファイルであるとSVNを説得する方法について何か提案はありますか?

39
DWright

Svn:mime-typeプロパティを単に "text/plain"に設定すると、次のようになります。

svn propset svn:mime-type text/plain build.xml
svn commit build.xml

また、非難するときにSubversionにファイルをテキストとして処理させることができます。

svn blame file/to/blame --force
53
Stefan

同じ問題がありました:いくつかのutf8ファイル(Linuxのネイティブエンコーディング)をチェックインしました。それらの一部はバイナリとして誤ってピックアップされ、「(bin)」と表示されていました。エラーの発生方法については詳しく説明しませんでしたが、何が発生しているかを確認しました...

$ svn propget svn:mime-type *

...正しくチェックインされたテキストファイルにはsvn:mimeプロパティがまったくないことに注意してください。誤って誤ってバイナリー化されたテキストファイルからsvn:mime-typeプロパティを削除しただけです。

$ svn propdel svn:mime-type [mislabeled-text-file...]
$ svn ci -m "zap binary mime-types" [mislabeled-text-file...]

これは問題なく機能しているようです。注意事項:これは簡単にテストできますが、この場合のWindowsの動作はわかりません。

4
smaines

この答え は同じ考えですが、逆です。その中の引用はまだあなたのクエリに関連しています。

1
Eddie Parker

リポジトリにファイルを追加した後は、おそらくREPOSITORYにもタイプを設定する必要があります。 propsetコマンドの作業コピーへのパスではなく、リポジトリへのURLを使用します。

0
Jim P.

Mime-typeでの操作は、svnにファイルをテキストとして扱うように説得しないように見えます。しかし、最初のコミットの前に適切なMIMEタイプが設定されている場合、svnはファイルを適切に処理します。たとえば、svnはEclipse .projectと.classpathをapplication/xmlとして追加し、それらをbinとして扱います。しかし、最初にコミットする前にそれをtext/xmlに変更すると、それらはテキストとして扱われます。

0
andrei