web-dev-qa-db-ja.com

SVNチェックアウトの深さ

私はこのようなツリーを持つ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」コマンドはこれらのフォルダーのみを更新しますか、それともプロジェクトの完全な更新が実行されますか?

41

必要なものは 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はこれらのファイルとフォルダーのみを更新します。つまり、更新の深さは保持されます。

66
ks1322

1)svn up --set-depth empty file/folder path

//システムからファイルを削除します

2)svn up --set-depth infinity file/folder path

// svnサーバーからローカルシステムにファイルを再生成します

0
vivek ranjan