リポジトリ名を表示するbash関数を次に示します(適切に設定されている場合)。
__get_reponame ()
{
local gitdir=$(git rev-parse --git-dir)
if [ $(cat ${gitdir}/description) != "Unnamed repository; edit this file 'description' to name the repository." ]; then
cat ${gitdir}/description
else
echo "Unnamed repository!"
fi
}
説明:
local gitdir=$(git rev-parse --git-dir)
これが実行されgit rev-parse --git-dir
、現在の.git
リポジトリのディレクトリへの完全パスが出力されます。パスをに保存します$gitdir
。
if [ $(cat ${gitdir}/description) != "..." ]; then
これによりが実行されcat ${gitdir}/description
、.git/description
現在のリポジトリの内容が出力されます。リポジトリに適切な名前を付けると、名前が表示されます。それ以外の場合は、印刷されますUnnamed repository; edit this file 'description' to name the repository.
cat ${gitdir}/description
リポジトリの名前が適切であれば、内容を印刷します。
else
さもないと...
echo "Unnamed repository!"
リポジトリに名前が付けられていないことをユーザーに伝えます。
同様のものがこのスクリプトに実装されています。