2009-05-13 12 views
7

SVNでファイルをコミットしようとすると、 "コミットに失敗しました"というエラーが表示されます。詳細は次のとおりです。コミットsvn:不一致の行終了スタイル。SVN行終了スタイル

+2

私はこの問題の恐ろしい変形があります。このエラーメッセージが__streams__ライブラリに表示されています。エラーを出しているファイルを見ると、 'test/unicode_demo_utf8_crlf.txt'のような名前があります。私はこれらのファイルがうまく__supposed to __に矛盾した行末スタイルを持っていると思われます。残念なことに、 '--force'を' svn import'に追加すると、Subversionがファイルをシャットダウンして読み込むようには十分に促されません。どんな解決策ですか?おそらく ' - ダブルシークレットフォース'? –

答えて

8

ディレクトリ/ファイルのsvnプロパティを確認してください。 svn:eol-styleが定義されていて、ファイルに異なるスタイル(Unix vs DOS)が含まれている場合、SVNは変換先を知らないのでコミットは失敗します。

参考:あなたはSVNが期待行末のスタイルを意識しているいったんhttp://svn.haxx.se/users/archive-2006-07/0702.shtml

1

、最も近代的な編集者が完全に一つのスタイルまたは別のソースを変換するためのオプションがあります。また、正規表現を実行して、それらを検出して変更することもできます(これはPerlが好きです)。

MSDOS EOLは: "\ rをする\ n"

UNIX EOL: "\ n" は

+3

DOS(およびWindows)では "\ r \ n"を使用します。さらに、Mac OS Classic(9以下)は "\ r"を使用します。 –

1

がでEOLを確認し、メッセージ自体をコミット:あなたは--fileスイッチを使用してファイルからコミットメッセージを渡すと、作りますコミットメッセージのEOLスタイルが一貫している(すべてのDOSまたはすべてのUNIX)ことを確認してください。信者のための

0

選択ラインエンドのスタイル(kdiffのように)あなたのツールを形成し、それ自体(単に出力ライン上で)...右側の下

1

は、ここでは手動でどちらか一方に小道具を設定する方法は次のとおりです。

svn propset svn:eol-style LF path/to/filename 
+0

私のために、修正はプロパティーを削除することでした – Charbel

+0

@Charbelこれは実際には修正ではなく、問題を無視しているだけです。それが実際の問題を引き起こすかどうかは、使用されている他のツール/言語に依存します。 – thelem

0

私はTortoiseSVNをWindows環境で使用しています。おそらくLinux(AVR32プロジェクト)で書かれたプロジェクトファイルをコミットしようとしたとき、私はこの同じエラーを受けました。 Microsoft Visual Studioで各ファイルを開くだけでこの問題を回避することができました。その時点で、VSは行末を正規化するように促しました。そうすることを選択すると、トータスが不平を停止する原因となりました。

関連する問題