「svnpropeditsvn:ignore」を実行すると。svnリポジトリのルートで、次のエラーが発生します:svn:一貫性のない行終了スタイル
このスクリプトを実行しようとしました:http://blog.eflow.org/archives/130 dos2unixを実行し、すべてのファイルにeol-styleを設定しますが、この問題は引き続き発生します。何が間違っている可能性がありますか?
「svnpropeditsvn:ignore」を実行すると。svnリポジトリのルートで、次のエラーが発生します:svn:一貫性のない行終了スタイル
このスクリプトを実行しようとしました:http://blog.eflow.org/archives/130 dos2unixを実行し、すべてのファイルにeol-styleを設定しますが、この問題は引き続き発生します。何が間違っている可能性がありますか?
私の場合、私はWindowsで編集していました。修正するには:
これはそれをしました。
Subversionはファイルの内容について不平を言っているのではなく、svn:ignoreプロパティの内容について不平を言っています。svn:ignore
これを修正する1つの方法は、でプロパティを削除してsvn propdel
から再作成することです。
あなたがあなたの中にたくさんの行を持っているならもっと簡単かもしれない別の方法svn:ignore
:
次のような一時ファイルでsvn:ignoreの値をフェッチします。
svn
propget svn:ignore . > temp
temp
ファイルの行末を修正する次のように、固定ファイルからsvn:ignoreの値を設定します。
svn propset svn:ignore -F
temp .
ランニング
unix2dos [file]
cygwin経由でこれを修正してくれました。
私の問題は、これをVisualStudio.NETで取得していたことでした。これを修正するために、ファイルのすべてのテキストをメモ帳にコピーし、メモ帳から「xxx.aspx」または適切なファイル名に保存しました。次に、Visual Studioで、変更されたファイルを再読み込みするように求められました。これは、行末を正規化するかどうかを尋ねるダイアログボックスです。問題が解決しました。
1つまたは2つのファイルでのみ発生する場合は、ファイルを開き、コンテンツをコピーして新しいファイルに貼り付け(通常のテキストエディタを使用)、保存することもできます。その後、このファイルを追加できます(名前を変更するか、移動して正しい名前にします)。
スクリプトは間違いなくすべてのテキストファイルに影響を与えましたか(dos2unixがインストールされていると仮定すると、そうでない場合はそれが理由になります...)?
私が考えることができる他のことは、すべてのファイルにmime-typeが正しく設定されていることを確認することです(チェックインされたテキストファイルとして何らかの形でマークされたバイナリファイルはありませんか?)。
とはいえ、マルチOS環境にいる場合、OS間でテキストファイルを共有および編集している場合は、上記のブログ投稿で説明されているように、svn:eol-styleをCRLFに設定することはお勧めできません。そのようにすると、Windowsでは問題ないように見えるファイルにUnixでは制御文字が散らばっているためです。EOLスタイルとして「ネイティブ」を使用することをお勧めします。
このエラーが発生しましたが、最後のEnd-of-lie(不完全な最後の行)が欠落しているファイルになってしまいました。
VIでファイルを開いて保存することでこれを修正すると、問題が解決しました。
viは悪い行を表示しなかったので、コメントセクションから行の終わりを削除し、それらを再読み込みして(ENDまで)ファイルを保存しました。その後はうまくいきました。
注:微調整する前に、revpropファイルをバックアップしてください。あなたがそれを芝刈りした場合、戻ることはありません
プロペディットを実行しているときにそれを取得した場合、SVNがプロパティに使用しているテキストファイルの形式について不平を言っているように思われます。
どのOSを使用していますか?プロペディテーションに使用しているエディターはどれですか?それでもpropeditコマンドでエディターが起動する場合は、このエディターを使用して、そこにある行末を確認します(viはこのIIRCを実行します)。
これは私を長い間悩ませ、SVNでマルチシステムチームを操作していました。私はこの便利なアプリを作成しました。このアプリは、テキストファイルを探すサブフォルダーを含むフォルダーをナビゲートし、すべてのUNIXEOLをDOSEOLに変換します。これはAIRアプリであり、WindowsとMacの両方で動作します。それが役に立てば幸い
フィリッポ
mac osxの場合、ファイルに対してこのエラーが発生し、dos2mac、次にmac2unixを使用して変換する必要がありました。それを行うと、行末の不満の問題が修正されました。
通常はすべての行を終了する\n
のに対し、特定の行を区切るためにのみ追加されるようにいくつかのテキストファイルにいくつかの変更を加えた後、問題が発生しました。\r\n
そのため、修正はNotepad++を使用して検索して。([^\r])\n
に置き換えること$1\r\n
でした。このようにして、行末文字はどこでも一貫していました。
perl(1)を使用してWindowsをUNIXの行末に一貫して変換するには:
perl -p -i.bak -e 's#\r\n#\n#go' my-file.txt
UNIXからWindowsに戻すには:
perl -p -i.bak -e 's#\n#\r\n#go' my-file.txt
Windowsマシンでantタスクを介してjavadocを実行したときにも同じ問題が発生しました。
<fixcrlf srcdir="${dir.javadoc}" eol="dos"/>
javadocantタスクの下に追加して修正しました。
以前はうまく機能していたアーカイブでも同じ問題が発生しました。notepad ++では、フォーマットをUTF-8に変換することを選択しました。これは私のために働いた。
emacsでPHPファイルを試したときに同じエラーメッセージが表示されsvn propset eol-style:native
たので、これがこの質問に答える人の助けになることを願っています。
私は次のようなものを持っていました:
str_replace('</li>^M<br>', '</li>', $text);
1文字はどこ^M
にありますか(キャリッジリターンのためのキャレットエスケープ)。
修正は、その行を同等のものに変更することでした。
str_replace("</li>\r<br>", '</li>', $text);
一重引用符ではなく二重引用符に注意してください。
私の場合、ファイルのエンコーディングが「UCS-2LEBOM」であるためにエラーが発生しました。ANSIのファイルは問題ありませんでした。行末を確認しましたが、すべてのファイルで正しいものでした。(少なくとも私のSVNバージョンでは)ワイド文字ファイルが正しく認識されないことがあるようです。
最も簡単な解決策は、「svn:eol-style」プロパティを削除することです。
NetBeansでは、「行末の表示と変更」プラグインを使用できます。
インストールしてNetBeansを再起動すると、ステータスバーの右側に行末のスタイルが表示されます。それをクリックして、ファイルを変換するエンディングを選択できます。
上記で提案した「MariusMatioc」のように、簡単かつ迅速に修正できます1.Notepad++でファイルを開く2.編集メニュー->EOL変換->Unix3.保存4.編集メニュー->EOL変換->Windows5.保存