把開發團隊的程式碼庫與Twitter訊息中心結合在一起該有多好?新推出的幾個Subversion hosting服務幾乎都有這種整合功能,例如Versionshelf,如此一來可以讓開發團隊成員直接訂閱Twitter即得知最近程式庫有哪些變更。這種做法相當有趣而且簡單:
1. 要擁有一個Subversion repository。 2. 要申請一個Twitter帳號,供團隊成員訂閱。 3. Subversion所在的伺服器必須可以跑curl,我們要利用Twitter的API來送出commit訊息。
請切換到伺服器上的Subversion repository目錄下:
cd /my_svn_repository_path
找到底下的hooks目錄:
cd hooks
先把post-commit.tmpl複製一份:
cp post-commit.tmpl post-commit
將其變更為可執行權限:
chmod 755 post-commit
post-commit.tmpl這個檔案是svn commit指令下達後所要執行的動作樣板,透過這個樣板我們可以附加其他動作進去,例如email通知,甚至是Twitter訊息發佈。
把樣板複製成一份可執行檔案,於是當Subversion伺服器執行完程式員送來的commit動作之後,便會尋找hooks目錄下是否有執行檔,如果有的話,便依照執行檔內容跑接下來的動作,所以他叫做post-commit。這個檔案內容如下:
REPOS="$1"
REV="$2"
COMMENT=`svnlook log -r${REV} ${REPOS}`
curl -u twitter_user:twitter_pass -d status="[Subversion] Revision ${REV}: ${COMMENT}" \ http://twitter.com/statuses/update.xml
請將您所申請的Twitter帳號密碼,填入twitter_user:twitter_pass之中。
最後,在Twitter上出現的訊息,會像底下這樣,或者您也可以根據需要修改curl後面的status內容:

