ソース全体をチェックアウトせずに、いくつかのファイルとフォルダーだけをチェックアウトする方法

StackOverflow https://stackoverflow.com/questions/4032059

  •  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

この質問が 5 年以上前のものであることは承知していますが、私の回答は今この質問を見ている人にとって役立つかもしれません。

私は Tortoise SVN バージョン 1.9 を使用しています。チェックアウト前に「アイテムを選択する」オプションがあります。リポジトリ ブラウザからチェックアウトする必要なフォルダ/ファイルを選択できます。enter image description here

Tortoise ナビゲーター (右クリック) で特定のフォルダーに移動し、その場所に対してチェックアウトを実行します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top