gitのルートディレクトリに移動するスクリプト

一発で、.gitのあるディレクトリまで移動するスクリプト
fpathの通ったディレクリに好きな名前で置いてください。

追記(2009-07-12)

Re:gitのルートディレクトリに移動するスクリプト - みずぴー日記 - 永遠に未完成を参考に書き直しました。エラーチェックもしてあります。

#!/bin/zsh
emulate -RL zsh

if git rev-parse --is-inside-work-tree > /dev/null 2>&1; then
    cd $PWD/$(git rev-parse --show-cdup)
fi

古いやつ

#!/bin/zsh
emulate -RL zsh

function git_root(){
    if [[ -e $1/.git ]]; then
	echo $1
    elif [[ $(stat -f "%i" $1) == $(stat -f "%i" "/") ]]; then
	echo .
    else
	git_root $1/..
    fi
}

cd $(git_root ".")