git-p4 と巨大なファイルサイズ

git-p4 と巨大なファイルサイズ

Perforce(p4) リポジトリを git (できれば Perforce による git サーバー実装である Helix4Git) に変換しようとしています。

より大きな問題の解決策を見つけるために、問題を単純なユースケースに縮小します。

P4には1つのファイルがあります//デポ/foo.txtこれは10MBです。P4のマージコマンドを使用して「クローン」したので、リポジトリに同じファイルが2つあります。//デポ/バー.txt

//depot
    .. foo.txt (10MB) [internal-id==> 4509b9a8.txt]
    .. bar.txt (10MB, clone of foo.txt) [internal-id==> 4509b9a8.txt]

P4サーバーはファイルを保存する一度内部的に 2 つのリンクを使用することで、ディスクの使用容量が削減され、使用されるのは 10 MB だけになります。ただし、ローカル ディスクには 2 つの物理コピー (10 + 10 = 20 MB) があります。ここで問題があります。

私が使うgit-p4P4 リポジトリを git に変換します。まずローカル コンピューターにクローンし、git-remote を設定してすべてを送信し、最終的に git サーバーに配置します。

前述のように、ローカル ディスクには 20 MB あり、それを Git サーバーに送信すると、サーバーも 20 MB を使用します。

1) Git でファイルをクローンすると、サーバー上にも物理的にクローンされますか?

2) git-p4 または git サーバーがこの「クローン」 (同じファイル) を検出し、内部的にもリンクを使用する可能性はありますか? git サーバー自体、またはファイル システム機能 (ソフト リンクまたはハード リンクなど) を使用することによります。

追加質問) Git サーバー用の macOS APFS はここで役立ちますか?

どうもありがとう!

答え1

クローンしたファイルをGitに移動すると、それらは保存されます別々にGit はファイルの内容とファイルの権限のみを保存します。メタデータと inode ID は追跡されません。

クローンを追加するgitignoreか、.git/info/exclude

参照:ここにリンクの説明を入力してください

関連情報