いくつかのツリーをローカル ディスクに複製しましたが、限られたラップトップ ディスクから多くのスペースを取りすぎています。SVN や CVS などの分散されていないバージョン管理とは異なり、git または Mercurial リポジトリをチェックアウトすると、履歴全体を含むツリー全体が取得されます。これらのリポジトリにコードをコミットすることはめったにありませんが、それらを維持したいと考えています-現在のところ、これらの分散型バージョン管理システムがローカル ディスクを浪費しすぎていることがわかりました。
この無駄をなくすために私がこれまでに持っているいくつかのアイデアは次のとおりです。
ローカル ディスクに zfs または btrfs パーティションを作成します (永続化しすぎたくないため、おそらくループ ファイルシステムです)。これにより、複製されたファイル チャンクをより有効に活用できます。これには CPU サイクルがかかりすぎて非効率になる可能性があります。
バージョン管理の使用をやめ、リポジトリ全体を含む .zip ファイルを毎日ダウンロードするスクリプトを作成します。これはあまりにも多くの帯域幅を必要とするため、私はそれをしたくありません。
私の究極の解決策は、SVN と CVS を使用したように git/hg を使用することです — サーバー上に履歴を保持し、ローカルには最新のリビジョンのみを保持するか、ローカルに限定された履歴を保持します。ログまたはファイルを以前のリビジョンに戻すと、ローカルで利用できない場合、バージョン管理システムは必要な情報をリモートから取得します。