例えば
$ svn ls -R hoge/ hoge/fuga $ echo piyo > hoge/piyo $ svn st ? hoge/piyo $ svn ps svn:ignore piyo hoge property 'svn:ignore' set on 'hoge' $ svn st M hoge $ echo fuga >> hoge/fuga $ svn st M hoge M hoge/fuga
こんな感じで"hoge"ディレクトリにsvn:ignoreを設定して、さらにその下にあるファイル"fuga"を変更している場合に、svn:ignoreの変更だけをcommitしたい、というとき。
普通にコミットすると
$ svn ci -m 'hogehoge' hoge Sending hoge Sending hoge/fuga Transmitting file data .
とその下のファイルも一緒にcommitされてしまう。"--depth"オプションで"empty"を指定することで、これを回避できる。
$ svn st M hoge M hoge/fuga $ svn st --depth empty hoge M hoge $ svn diff --depth empty hoge Property changes on: hoge ___________________________________________________________________ Added: svn:ignore + piyo $ svn ci --depth empty hoge -m 'hogehoge' Sending hoge Committed revision **. $ svn st M hoge/fuga