1

Win + OSXでmercurial + mqを使用していますが、EOLの問題が私を殺しています。EOL 拡張機能を有効にし、以下に示すように .hgeol を追加しました。

[patterns]
**.sln = CRLF
**.vcproj = CRLF
**.vcxproj = CRLF
**.vcproj.filters = CRLF
**.vcxproj.filters = CRLF
**autoexp.dat = CRLF
**Makefile = LF
** = native

そして、すべてが正常に動作するように見えました.. Windowsでは(まあ、行末の問題のあるファイルがいくつかありました.hgeolも含む最初のパッチでそれらを修正しました)。

それから、Mac でも動くと思って、Mac に移りましたよね?まあ、間違っています。最初のパッチ (「.hgeol」ファイル + 行末の変更を含むパッチ) を qpush すると、機能しますが、一連の「変更された」ファイルが表示されます (Windows で「修正」したのとまったく同じファイルです。変更されたものとして表示されないようにします!)。とにかく、行の変更を取得するために「hg qrefresh」を試みます(後で理解できると思います)...しかし運がありません:他のパッチをqpushし続けると、拒否され始めます:(

これを修正する方法/何が原因ですか? それは私を夢中にさせています....

4

1 に答える 1

0

コンパイラーが改行フォーマットや混合さえも処理する方法を知っていることに同意しましょう。だから、私の提案は次のようになります:

  1. すでに行ったように、 Windows固有のファイル(、、.slnなど.vcproj)を設定したままにします
  2. (すべてのOSの)すべてのテキストエディタが同じ1つの改行規則に同意していることを確認します。
  3. テキストエディタでタッチするすべてのファイルをその改行規則に変換します(dos2unixのようなツールを使用)
  4. その変更をコミットする
  5. 既存のすべてのパッチもそれを順守する必要があります

    a。それらを1つずつ適用し、ファイルを再度クリーンアップしてパッチを更新し、改行も修正する必要がある場合があります。

この後、あなたはあなたがいる限り良いはずです:

  1. 準拠していない別のエディターで同じストレージを編集しないでください
  2. 異なるOSからの共有を介して同じリポジトリにアクセスしておらず、どういうわけか悪いエディタを使用しています...

お役に立てれば ;)

よろしく。

于 2012-10-15T08:31:50.533 に答える