ソース全体をチェックアウトせずに、いくつかのファイルとフォルダーだけをチェックアウトする方法
-
26-09-2019 - |
質問
私のプロジェクトには多くのフォルダーがあります。確かに、それぞれが 7 つの異なるフォルダーにある少数のファイル (約 15) のみを変更したいことはわかっています。また、それを達成するためにソース全体をチェックアウトしたくありません。必要なフォルダだけを単独でチェックアウトすることはできますか?
このシナリオはさまざまなソースで頻繁に使用されます。選択したフォルダーだけを一度にチェックアウトすることはできますか?
編集
たとえば、ソースフォルダーに次のものが含まれているとします。5つのサブフォルダー。のように、
ソース
- 芯
-- ヘルパー
-- 拡張機能
-- テーマ
- リソース
また、拡張機能とテーマのフォルダーだけをチェックアウトしたいと考えています。ただし、各フォルダーを個別にチェックアウトしたくありません。チェックアウト場所を svn.svnhost.com/trunk/project1/source として指定するようにしたいと思います。【それでは、私が選びます】 Extensions
そして Themes
1 回のチェックアウトを与える]
予想されるチェックアウト:
ソース
-- 拡張機能
-- テーマ
何かのようなもの:
svn co svn.svnhost.com/trunk/project1/source --foldernames Extensions, Themes
解決
必要なフォルダーをチェックアウトするだけでなく (サブフォルダー ツリー全体も必要な場合にのみ機能します)、Subversion 1.7 は、「」と呼ばれるものをサポートしています。スパースディレクトリ」。基本的に、フォルダーを特定の深さまでチェックアウトし、その後、興味のあるフォルダーに「ドリルダウン」できます。
コマンドラインクライアントを使用すると、 --depth
そして --set-depth
のオプション svn update
. 。TortoiseSVN を使用している場合は、チェックアウト ダイアログに「チェックアウトの深さ」オプションがあります。
編集:特定の質問に対して明確にするために、まず「即時」の深さでソースツリーをチェックアウトします。これにより、すべてのフォルダーが表示されますが、最初は空になっています。次に、ドリルダウンできます。 拡張機能 そして テーマ ディレクトリを「完全に再帰的」な深さに更新することによって (svn update --set-depth infinity
または TortoiseSVN で「リビジョンに更新 → 更新の深さ → 「完全に再帰」)。
編集:更新の深さは一種の「可視性レベル」として見ることができ、Subversion によって記憶されます。あなたがやれば svn update
作業コピーでは、現在の可視性レベルにのみ更新されます。
他のヒント
はい、次のようなリポジトリ アドレスがあるかどうかを確認してください。
https://elastik.svn.sourceforge.net/svnroot/elastik/
必要なフォルダーを最後に追加するだけです。したがって、「trunk/includes」フォルダーのみが必要な場合は、次のようになります。
https://elastik.svn.sourceforge.net/svnroot/elastik/trunk/includes
Tortoise ナビゲーター (右クリック) で特定のフォルダーに移動し、その場所に対してチェックアウトを実行します。