cdp: perlプロジェクトのトップディレクトリに移動
Perlのモジュールを書いているとき、lib/を下っていったり
t/を下っていったりして、修正なり、コミットしたりしたあと
テストのために、Makefile.PLがあるディレクトリまで戻るのが
面倒になったので書いた.
Makefile.PL, Build.PLがあるディレクトリまで遡るというだけの
ものです。
(追記)
他のプロジェクトでも使えるように .gitも対象に追加しました。
コード
## Chdir top of Perl project cdp () { orig_dir=$PWD current_dir=$PWD while [ "$current_dir" != '/' ] do for file in Makefile.PL Build.PL .git do if [ -e $current_dir/$file ] then echo "$current_dir" cd $current_dir return 0 fi done current_dir=`dirname $current_dir` done echo "$orig_dir is not Project Directory" return 1 }
実例
% pwd /home/syohei/program/perl/p5-Acme-EbisuMuscats/lib/Acme/EbisuMuscats % cdp /home/syohei/program/perl/p5-Acme-EbisuMuscats % pwd /home/syohei/program/perl/p5-Acme-EbisuMuscats # プロジェクト以外の場合 % pwd /home/syohei/tmp/gomi % cdp /home/syohei/tmp/gomi is not Project Directory
今まで '../'をたくさん書いていた気がしますが、
これでその時間を節約できそうです。