「単一のファイルをチェックアウトすることはできません。実行できる最も細かいレベルのチェックアウトは、ディレクトリ レベルです。」
Subversion を使用する場合、この問題を回避するにはどうすればよいですか?
Subversion に、すべての画像を保存するフォルダーがあります。そこから 1 つのファイル (画像) をチェックアウトしたいだけです。このフォルダーは非常に大きく、今は必要のない他のものも大量に含まれています。
ベストアンサー1
簡単な答えは、svn export
ファイルをチェックアウトするのではなく、ファイルを保存することです。
しかし、それはあなたが望んでいることではないかもしれません。何 GB もの不要なジャンクをダウンロードせずに、ファイルを操作してチェックインし直したい場合があります。
Subversion 1.5 以上をお持ちの場合は、スパース チェックアウトを実行します。
svn checkout <url_of_big_dir> <target> --depth empty
cd <target>
svn up <file_you_want>
古いバージョンの SVN の場合、次の点が役立つ場合があります。
- 不要なジャンクがあまり含まれていなかった遠い過去のリビジョンを使用してディレクトリをチェックアウトします。
- 必要なファイルを更新して、混合リビジョンを作成します。これは、チェックアウトしたリビジョンにファイルが存在しなかった場合でも機能します。
- 利益!
別の方法としては (たとえば、ディレクトリが作成されたリビジョンから大量のジャンクがある場合)、必要なファイルの URL->URL コピーをリポジトリ内の新しい場所 (実質的にはファイルの作業ブランチ) に作成します。そのディレクトリをチェックアウトして変更を行います。
ターゲットの作業コピーなしで、変更したコピーをリポジトリに完全にマージできるかどうかはわかりません。これまでその必要はなかったのですが。できるなら、そうしてください。
そうでない場合は、残念ながら、ディレクトリ全体をチェックアウトしている他のユーザーを見つけて、その人にチェックアウトしてもらう必要があるかもしれません。または、変更を加えたときには、残りの部分のダウンロードが完了しているかもしれません...