特定のディレクトリをexcludeする

命題

  • 以下のような構成のディレクトリ・ファイルがあり、全てのディレクトリ・ファイルはsubversionで管理されている。
  • 使用者はdocディレクトリ以下のファイルの編集に関与しない為、docディレクトリは除外して、ワーキングコピーを運用したい。

プロジェクトの構成

 PROJECT_ROOT
 |-- Makefile
 |-- bin
 |   `-- foo.exe
 |-- doc
 |   `-- README.txt
 `-- lib
     `-- bar.dll

方法

1. いったんルート直下のファイル・ディレクトリのみチェックアウトする。

 $ svn co file:///$HOME/tmp/repos/ --depth immediates working-copy
 A    working-copy/doc
 A    working-copy/lib
 A    working-copy/bin
 A    working-copy/Makefile
 リビジョン 6 をチェックアウトしました。

2. docディレクトリを除外する。

 $ svn up --set-depth exclude doc
 D         doc

3. docディレクトリはワーキングコピーから無くなった。

 $ svn up
 $ ls
 Makefile  bin/  lib/

4. リポジトリには存在する。

 $ svn ls file:///$HOME/tmp/repos/
 Makefile
 bin/
 doc/
 lib/

参考

http://svnbook.red-bean.com/en/1.6/svn.advanced.sparsedirs.html


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS