depthオプション

depthオプションとは

  • depthオプションで、svn checkout等のターゲットのディレクトリ下をどのように参照するか指定する。
  • set-depthオプションで、そのディレクトリのdepthのフラグを設定できる。
  • depthオプションの引数(フラグ)は以下。
    • files
    • empty
    • immediates
    • infinity

前提

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

4 directories, 5 files

--depth empty ファイルもディレクトリも参照しない

$ svn co file:///$HOME/tmp/repos/ --depth empty working-copy
$ cd working-copy
$ ls
(何もない)
$ svn up
$ ls
(何もない)
$ svn up Makefile
$ ls
Makefile

--depth files ファイルだけ参照する

別のワーキングコピーでdoc/install/install.txtが追加され、doc/README.txtが更新され、コミットされた。

$ cd OHTER_WORKING_COPY/
$ svn commit -m 'update'
追加しています              doc/install
追加しています              doc/install/install.txt
送信しています              doc/README.txt

このワーキングコピーでdocディレクトリ以下のファイルだけ取り出すように--set-depth filesでフラグを付けて、svn updateする。

$ cd THIS_WORKING_COPY
$ svn up --set-depth files doc
U    doc/README.txt

README.txtファイルだけ更新された。以後、このワーキングコピーではdocディレクトリ以下はファイルだけしか参照しない。

$ svn up doc
$ ls doc/
README.txt

--depth immediates 直下のファイルとディレクトリだけ参照する

$ svn co file:///$HOME/tmp/repos/ --depth immediates somefiles
A    somefiles/doc
A    somefiles/lib
A    somefiles/bin
A    somefiles/Makefile

--depth infinity ファイルも更新も再帰的に参照する

$ svn co file:///$HOME/tmp/repos/ --depth infinity allfiles
A    allfiles/doc
A    allfiles/doc/install
A    allfiles/doc/install/install.txt
A    allfiles/doc/README.txt
A    allfiles/lib
A    allfiles/lib/bar.dll
A    allfiles/bin
A    allfiles/bin/foo.exe
A    allfiles/Makefile

参考

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


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2012-04-05 (木) 18:38:36