單就個人感情來說,我其實喜歡git。但顯然subversion才是更普遍的版本控制管理工具,適合用在團隊開發中。
那么,有一個很常見的需求就是把工程師提交的代碼,更新到htdocs目錄,這時候需要用svn hook,簡單做法就是寫一個post-commit hook:
svn update /var/htdocs/
但當svn目錄越來越大,文件越來越多的時候,svn提交也會越來越慢。因為每一次的提交都會造成整個svn的更新。
這個時候,或許可以稍微變通一下,嘗試用svnlook只更新那些有變化的文件夾:
for dir in `svnlook dirs-changed /var/svnroot/` do svn update -N /var/htdocs/$dir done
利用這種方式,我們的svn提交速度提高明顯