1. ホーム

[解決済み】Subversionから1つのファイルをチェックアウトする

2022-03-26 07:53:33

質問

"1つのファイルをチェックアウトすることはできません。できるチェックアウトのレベルは、ディレクトリレベルが最も細かいです。"

Subversionを使用しているときに、この問題を回避するにはどうすればよいですか?

Subversionに、すべての画像を保存しておくフォルダがあります。その中から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コピーします(事実上、これはファイルの作業ブランチになります)。そのディレクトリをチェックアウトして、変更を加えてください。

その後、ターゲットの作業コピーなしで、変更したコピーをリポジトリに完全にマージして戻すことができるかどうかはわかりません - 私はその必要がありませんでした。その必要がないのであれば、そうしてください。

そうでない場合は、残念ながら、ディレクトリ全体をチェックアウトしている他の人を見つけて、その人にやってもらうしかないかもしれません。あるいは、あなたが修正を加える頃には、残りの部分のダウンロードが終了しているかもしれません...。