Git ShadowtreeはリポジトリファイルのリンクベースのWindowsミラーを作成します
Git Shadowtree、Sebastian Szveteczによって作成された、Windows開発者および管理者のためのGit作業ツリーのミラーリングディレクトリビューを作成します。リポジトリファイルを別のフォルダーに投影し、ツールが元の.gitメタデータを移動することなく操作できるようにします。このアプリは、コンテンツの重複を避けるためにリンクベースのミラーリングを使用し、フォルダ階層を保持するため、ビルドシステムやレガシーツールが代替パスレイアウトを必要とする場合に便利です。
Shadowtreeがデータをコピーせずにリポジトリを投影する方法
Shadowtreeはシャドウディレクトリを構築します。これは、元の作業ファイルを指すNTFSシンボリックリンクツリーを作成することによって行われるため、ディスク上にファイルデータが重複することはありません。このツールは、リポジトリのメタデータをそのままにして、完全なディレクトリ階層を別の場所にミラーリングします。典型的な結果は、通常のチェックアウトのように見えるマッピングされたツリーと、既存のファイルを参照するリンクのおかげでほぼゼロの追加ディスクフットプリントです。
必要なシステム要件と特権
ShadowtreeはNTFSを使用するWindowsで動作します。シンボリックリンクを作成する能力が必要であり、これは管理者権限または開発者モードを有効にする必要があります。このツールはネイティブファイルシステムで動作するように設計されているため、ファイルアクセスは標準のNTFSセマンティクスを使用し、ネイティブパフォーマンスを提供します。その依存関係により、NTFSリンクの作成が許可され、サポートされているマシンに使用が制限されます。
誰が利益を得て、どのような運用上のトレードオフを期待するか
リポジトリファイルをビルドツールやレガシーソフトウェアに提示しなければならない開発者やシステム管理者は、シャドウが作業ツリーを代替パスレイアウトで公開するため、最も実用的な価値を得ます。このツールは、別々のインデックスを作成しないことで複数の作業ツリーソリューションとは異なり、単に1つの作業コピーを反映します。重要なトレードオフは、ミラーされたビューでの編集が元のファイルに作用するため、オペレーターは書き込みアクセスとワークフローを適切に管理する必要があることです。
制御されたビルドとレガシーツールのシナリオに対する実用的な選択肢
Git Shadowtreeは、ビルドやレガシー統合のためにリポジトリの代替ファイルシステムビューを必要とするWindows開発者および管理者にとって実用的なオプションです。ツールを制御されたビルドサンドボックスやCIエージェント内で使用して、ライブ作業ツリーへの偶発的な編集を制限し、環境の違いを通常の開発者のワークフローから隔離します。推奨します。
高評価
- ファイルデータの重複を避けるために、NTFSシンボリックリンクツリーを作成します
- シャドウロケーションにおいて完全なディレクトリ階層を保持します
- ネイティブWindowsファイルシステムパフォーマンスのために設計されています
- リポジトリメタデータから作業環境を分離します
低評価
- NTFSが必要なので、Windowsファイルシステムでのみ実行されます
- シンボリックリンクを作成するには、管理者権限または開発者モードが必要です。
- シャドーツリーの編集は、元のリポジトリファイルを変更します。
- ミラーリングのみに焦点を当て、ブランチやインデックス管理は行わない。