ネガティブパターンは禁止されているgitattributes
ため、簡単には通過できません。
実際には、今日 (2013 年 3 月)に非致命的なMake!pattern
.gitattributes
に提案されているパッチがあります。
そのため、 CRLF が不要であることがわかっているサブディレクトリに存在するファイル*.txt
のみに、グローバル ルールを配置する必要があります。.gitattributes
また、コンテンツが混在するディレクトリに存在する、よりきめ細かいtext
ルールを予約します。.gitattributes
kostmoは、コメントでEGit バグ 421364について言及しています。
これが実装されるまでは、次のセットアップをお勧めします。
- 各 Eclipse プロジェクトについて、 に移動し、「 」を に
Properties > Resource
変更します。結果のファイルをコミットします。New text file line delimiter
Other: Unix
.settings/org.eclipse.core.runtime.prefs
- Git に対してany
.gitattributes
または " " を構成しないでください。
これは、作業ディレクトリとリポジトリのファイルの行末が同じであることを意味します。Git と EGit はファイルの内容を変換しません。core.autocrlf
1. では、Eclipse で作成されたすべての新しいファイルはLF
、Windows のユーザーによって作成された場合でも、正しい ( ) 行末になります。
を使用してリポジトリに既にあるファイルについてはCRLF
、それらを修正して結果をコミットできます。コマンドラインでdos2unix
orを使用することをお勧めします。fromdos
注: この問題 (バグ 421364 ) は、 Lars Vogelによってバグ 342372の複製として再認定されました (2014 年 3 月 25 日) 。
したがって、.gitattributes
JGitによるサポートは「割り当て」ですが、その実装はまだ進行中.
実装はレビュー中です (2015 年 1 月):
.gitattributes
WorkingTreeIterator および dirCacheIterator での属性の読み取りのサポートを含む、ファイルを解析および処理するためのコア クラス。
getAttributes
ツリー ウォークにフィーチャを追加します。との両方が
必要なため、属性の計算は で行う必要があります。TreeWalk
WorkingTreeIterator
DirCacheIterator
2018 年 8 月の更新: 上記のバグ (バグ 342372 ) は、解決されたばかりのJGit バグ 537410に依存しています。
「JGit のリベースとスタッシュは行末s を保持しません」
問題は、ファイルのResolveMerger
duringが(JGit がフィルターと eol 属性を格納する) をprocessEntry()
記憶せず、属性やフィルターを無視してそれらをチェックアウトすることです。CheckoutMetadata
checkout()
ResolveMerger.cleanUp()
同じ問題があります。
JGit コミット 4027c5c (レビュー 127290から) はそれを修正する必要があります。
JGitの積極的な貢献者であるThomas Wolfに感謝します。
それはEGitに希望を与えます:
EGit は一般に、ステージング/マージ/チェックアウトでのすべての eol 処理を JGit に任せます。
EGit がそれを考慮しなければならない唯一の場所は、インデックス エントリ自体を読み取らなければならない場合の比較フレームワークであり、そこでは既に適切に処理されていますCheckoutMetadata
。