まず、いくつかの動作パラメータ:
- VisualStudio2005/2008を使用した.NET開発
- TortoiseSVNクライアント
私は主にVisualSourceSafeとSourceGearVaultのソース管理システムのみを使用しました。それぞれで、リポジトリのルートをローカルの作業ディレクトリにマップします。例えば:
$/ --> C:\source
ローカルディレクトリが存在する限り、「作業コピー」(svn)または「作業フォルダ」(VSS)を設定しました。
すでにソースコードリポジトリにある新しいプロジェクトで作業するには、そのプロジェクトのディレクトリの「最新」(VSS)バージョンを取得する必要があります。
リポジトリ内の子ディレクトリに移動して「GetLatest」(つまり、svn checkout)すると、クライアントは自動的に完全なディレクトリ階層を作成し、ローカルディスクの構造をミラーリングします。したがって、私が最新のものを入手したとき
$/foo/bar/project1
ドライブに作成されます
C:\source\foo\bar\project1
Subversionでは、ディレクトリをチェックアウトするときに、作業コピーディレクトリの場所を指定する必要があります。作業コピーディレクトリ構造をリポジトリと一致するように適切にミラーリングする場合は、パス内のすべての子ディレクトリを手動で作成するか、リポジトリルートから作業コピールートへのチェックアウトを実行して、リポジトリ内のすべてを取得する必要があります。
手動で介入することなく、一致するローカルの作業用コピーディレクトリ構造でリポジトリディレクトリが作成されるように、リポジトリディレクトリを階層の下位に配置する方法はありますか?
これは小さなリポジトリでは問題ありませんが、ほとんどの場合、ソースリポジトリの大部分は必要ありません。プロジェクトやリソースへのファイル参照が壊れないようにするには、物理的な構造を維持することが不可欠です。さらに、SVNのディスクコストは、ファイルのすべての作業ベースコピーを考慮すると、実際のソースサイズの2倍です。
現在、Tortoiseを使用しています。私が探していることを実行する他のSVNクライアントが存在する可能性はありますか?