46

次のようなツリーを持つSVNプロジェクトがあります。

/project
    /dir1
        /subdir1
           -file1
           -file2
            .....
        -file1
        -file2
        .....
    /dir2
        -file1
        -file2
        .....
    /dir3
        /subdir1
           -file1
           -file2
            .....
        /subdir2
           -file1
           -file2
            .....
        /subdir3
           -file1
           -file2
            .....
        /subdir4
           -file1
           -file2
            .....
    /dir4
        -file1
        -file2
        .....
-file1
-file2

チェックアウトする必要があります

  • /project のすべてのファイル
  • フル /dir1
  • フル /dir2
  • フル /dir4
  • /dir3 からは /subdir1 と /subdir3 だけが必要です

これらのファイル/フォルダーを、svn コマンドラインを使用して、ある程度の深さでチェックアウトできますか? もしそうなら、どうすればできますか?チェックアウト後に subdir2 を dir3 に追加できますか? この方法で作成された作業コピーを更新するにはどうすればよいですか? 通常の「svn up」コマンドはこれらのフォルダーのみを更新しますか、それともプロジェクト全体の更新を行いますか?

4

2 に答える 2

75

必要なものはsparse checkoutと呼ばれます。

あなたの場合、次のことができます:

svn co --depth files file:///project project
cd project
svn up --set-depth infinity dir1 dir2 dir4
svn up --set-depth empty dir3
svn up --set-depth infinity dir3/subdir1 dir3/subdir3

チェックアウト後に subdir2 を dir3 に追加できますか?

はい:svn up --set-depth infinity dir3/subdir2

この方法で作成された作業コピーを更新するにはどうすればよいですか? 通常の「svn up」コマンドはこれらのフォルダーのみを更新しますか、それともプロジェクト全体の更新を行いますか?

はい、svn upこれらのファイルとフォルダーのみを更新します。つまり、更新の深さは維持されます。

于 2012-07-25T20:51:11.457 に答える
0
  1. svn up --set-depth empty file/folder path
  • => システムからファイルを削除します**
  1. svn up --set-depth infinity file/folder path
  • => svn サーバーからローカル システムにファイルを再生成します**
于 2016-09-29T12:54:27.497 に答える