patchコマンドの-p

hg diffで出したパッチを取り込むときにどうすんだっけかなーと思って調べてた。
Windowsばっかり使ってるからpatchコマンドにあまり縁がない。
patchコマンドの-pオプションを使うと、指定した階層分だけディレクトリを無視できるようだ。
-p1なら1階層、-p2なら2階層といった感じか。

hg diff > hoge.patch

hoge.patchのディレクトリを見てみるとa/とかb/で始まってる。-p1は必須なのね。
パッチを当てるときは、

patch -p1 < hoge.patch

はずすときは、

patch -R -p1 < hoge.patch

となる。