2016-05-12

ひとつのaliasからgit/svn statusをcwdに応じて使い分ける

こういう記事を見つけたのだけど, zshでしか使えない. bash版を考えてみた.

st () 
{ 
    if git rev-parse --is-inside-work-tree &> /dev/null; then
        git status "$@";
        return $!;
    else
        svn status "$@";
        return $!;
    fi
}

もとネタでは, cdの度にコンテキストを切り替えているが, それだと, 毎回上位ディレクトリに検索に行く. NFSとかを使っていたり, なにか動作が不安定な環境でcdするのが心配だ. 一方で, この方法だと, stのときしか検索しないので, 安全だと思う.