2447個のファイルを一度にコミットすると、SVNエラーで完全に行き詰まりました。 Windows 7 64ビットでTortoiseSVN(最新バージョン)を使用しています。
実際には、Macで作成されたファイルとPCで作成されたファイルがあるため、TortoiseSVNは煩わしいInconsistent line ending style
エラーでコミットを停止しました。
最初に、この問題を解決するために、私は手動で netbeans で問題のあるファイルを開き、1つの空白スペースを追加し、それを削除してファイルを保存したので、Netbeansはすべての行末文字を適切に変換しました。 「一部のファイル」よりも有罪。
もちろんウェブで解決策を探しましたが、Windows環境に適したものは見つかりませんでした。
私は現在、壁に頭をぶつけています。
Windows 7では、Notepad++ v5.6.8
EOLを変換する
編集-> EOL変換-> Windows/Unix/Mac
Notepad ++で、「表示->記号を表示->行末を表示」を選択します。
検索ボックス(Control-F)で正規表現検索モードを選択し、文字列を検索します。
[^\r]\n $
(翻訳:\ nの前の\ rなし)。
これにより、問題のある行が直接表示され、CR-LFのペアではなく、LFで終わる行が表示されます。
だから私は @ assyliasの答え で自分の質問に答えます:
W:
(\w)\n$
をキャプチャして$1\r\n
に置き換えることができます。ここで、$1
は文字です。
この正規表現を使用してNetbeansで検索および置換することで、この作業を実行できます。
編集:私の問題は、カスタムスクリプトがこれらのファイルに誤ったEOL文字(\n
ではなく\r\n
)を挿入したことでした)
行末がすべて正しい場合、テキストファイルにUTF16バイトオーダーマーク(BOM)が含まれている可能性があります。
Notepad ++を使用して修正できます。エンコーディング-> UTF-8に変換。
私がしたことは、編集したいリポジトリを参照しながらエクスプローラーを右クリックしてプロジェクトプロパティウィンドウを開き、選択しました:
TortoiseSVN > Properties > New... > EOL > As is (no specific EOL).
WindowsのVimまたはGVimでは、壊れたファイルはすべて^M
各行の終わりに。
修正するには::s/\r//g
は、壊れた余分な行末を削除します。
上記の投稿に関連して、実際にはvimの正規表現は:1,$s/\r//g
。 * n?xの別の方法は、sedを使用することです。
sed -i '-es/\ r // g'
さまざまな行末の問題を解決するには、SVNプロパティを次のように設定します。
svn propset svn:eol-styleネイティブmy_file
これにより、行末の問題が解決され、マージが容易になりますが、非難により、すべての行のチェンジャーとしてEOLスタイルを追加した人が表示され、作業ファイルが一時フォルダーにコピーされることになります差分を行うとき。
責任の問題は、これを行うことで後で解決できます。
svn blame my_file -x "--ignore-space-change --ignore-eol-style"