7

Cygwin用のgitの最新バージョンを手動でビルドしました。唯一の問題は、ファイル モードが変更されたと (644 から 755 に) 認識されることです。Windows にインストールされている Git には変更がありません。実際のファイル モードは 755 です (Windows Git と cygwin git の両方が同じことを示します)。

したがって、結果として、1) Windows では git は true または false に設定されているかどうかにかかわらず変更を表示しませんcore.filemode2) cygwin では git は true または unset に設定されている場合はモードの変更を表示し、が設定されている場合は変更をcore.filemode表示しませんcore.filemodefalse 実際のファイル モードは 755 です。

それで、私の質問は、Windows git(msysgit)core.filemode = falseにオプションセットの無視をエミュレートするバグ(機能)があるかどうかです。または、cygwin git が間違った以前のファイル モードを表示しますか。ファイルはxmlタイプなので、最初だと思います。

4

1 に答える 1

7

mysysgit は、ファイルのパーミッションをうまくサポートしていません。すべての .exe が 755 で、すべてのテキストが 644 であると想定しています。私の経験ではfilemode=false、mysysgit のグローバル構成には常にあります。

filemode=truecygwin がサポートして以来chmod、必要に応じて実行可能なビットを追跡できるcygwin用の別のグローバル構成を使用しますが、cygwin から変更をコミットする必要があります。

また、cygwin でレポを複製または初期化するcore.filemode=trueと、グローバルよりも優先されるローカル構成に自動的に追加されることに気付きました。これは、上記の私の提案を破ります。

git config --local -eエントリを削除して、filemode使用する唯一の定義としてグローバル構成を残すことで、これを修正できました。

欠点は、複製するすべてのレポが に設定されるためtrue、レポごとにそこから削除する必要があることです。Cygwinでこれを防ぐ方法が見つかりませんでした。

于 2014-03-13T23:12:10.483 に答える