tech::hexagram

personal note for technical issue.

gitoliteのレポジトリ追加をワンライナーで実現するシェルスクリプト書いてみた

gitoliteを使っている方は、レポジトリを追加するとき、

  • gitolite-admin/conf/gitolite.confの末尾に追加したいリポジトリ名を追加
  • gitolite.confをコミット


とかすると思います。しかし、これは非常にめんどくさいなと個人的に感じます。

そこで、この一連の操作をワンライナーで実現できるようにシェルスクリプトを書いてみました。

#git_new.sh

#!/bin/sh                                                                                                                                                                                               
set -e

#PATH                                                                                                                                                                                                   

GIT_ADMIN_PATH=/gitolite-adminへのパス
GIT_CONFIG_PATH=/gitolite-admin/conf/gitolite.confへのパス

#add repository infomation into gitolite.conf                                                                                                                                                           

echo "" >> $GIT_CONFIG_PATH
echo "repo   $1" >> $GIT_CONFIG_PATH
echo "        RW+    =   @all" >> $GIT_CONFIG_PATH
                                                                                                                                                                                                        
#commit                                                                                                                                                                                                 

cd $GIT_ADMIN_PATH
git add .
git commit -m "ADD:$1"
git push

あとは、~/.bashrcあるいは~/.bash_profileにaliasとして以下のように追記すればOK。
source ~/.bashrc or source ~/.bash_profileするのを忘れずに。

alias git_new='~/src/sh/git_clone.sh $1' 

問題点

  • @allのみしか対応できない点
  • git clone hoge@gitolite.com:~/new_repository.gitというコマンドでこれを実現したい

問題点が若干残っているので、もし解決できるよとかあれば教えていただけると嬉しいです!