4

チェックアウトした Git リポジトリを Perforce デポに追加しようとしています。誤解しないでほしいのですが、Git と Perforce は統合されていません。Git リポジトリのようにアクセスして、いつものようにプル/プッシュやその他の Git アクションを使用できるように、そこに外部 Git リポジトリを配置したいだけです。

.git フォルダー内に、TortoiseGit 固有のファイルとフック フォルダー以外のすべてを送信しました。

ただし、その Git リポジトリを別の PC の Perforce ワークスペースにダウンロードするとgit status'atal: Reference has invalid format: 'refs/remotes/origin/master. master と呼ばれる 4 つのファイルはすべて問題ないように見え.git\refs\remotes\origin\masterます。たとえば、このファイルにはコミット ハッシュとそれに続く Windows 改行が含まれています。

私は何を間違っていますか?

4

1 に答える 1

4

わかりました、それはかなり明白でした。Perforce は愚かで、デフォルトで行末を自動的に変換します。ここを参照してください。高度なワークスペース オプションで変更できます。

Git はファイル内の Windows スタイルの改行を好みません.git/*。さらに悪いことに、たとえばすべてのソース コードに LF 改行があり、Perforce がそれらを CRLF に変換すると、Git 作業ツリー全体が変更済みとしてマークされます。わーい!(もちろん、Git のような優れた VCS では、「そのままチェックアウトし、そのままコミットする」というオプションが提供されますが、これは理にかなった唯一のオプションです。)

于 2013-01-24T09:32:54.363 に答える