====== Subversion ====== 設定專用資料夾:http://i.repeat.tw/blog/post/8687153 如何不被 TortoiseSVN 拖慢系統效率:http://www.jeffhung.net/blog/articles/jeffhung/758/ ===== Branck and Merge ===== http://blog.miniasp.com/post/2010/01/Subversion-Branches-and-Merging-using-TortoiseSVN.aspx ===== 忽略檔案或資料夾 ===== svn propedit svn:ignore [Repo位置] 如果想要忽略目前目錄中的 tmp 及 Config.php 資料夾,可在此目錄下執行 svn propedit svn:ignore . 然後每行一個檔案或資料夾: tmp Config.php 最後 commit 上去即可。 ===== post-commit hooks ===== http://svnbook.red-bean.com/en/1.1/ch05s02.html http://plog.longwin.com.tw/my_note-app-setting/2008/10/20/subversion-svn-commit-log-post-mail-alert-2008 http://blog.eddie.com.tw/2008/07/28/subversion-post-commit http://wiki.joyent.com/shared:kb:svn-postcommit http://cwlin0416.wordpress.com/2007/04/13/subversion-and-web-development/ http://blog.yhsung.tw/2006/07/28/subversion-post-commit-hooks/ ====== Subversion on Debian ====== 已經有 apache2 網頁伺服器 ===== 安裝 svn ===== # apt-get install subversion subversion-tools libapache2-svn ===== 建立 svn 目錄 ===== 建立 project root,並修改擁有者 # mkdir /home/svn # chown www-data:www-data /home/svn ===== 設定 ===== 修改設定 # vi /etc/apache2/mods-enabled/dav_svn.conf DAV svn SVNParentPath /home/svn AuthType Basic AuthName "Subversion Repository" AuthUserFile /home/svn/dav_svn.passwd // 登入認證 AuthzSVNAccessFile /home/svn/dav_svn.authz // svn project 權限設定檔 Require valid-user ===== 新增 svn 使用者 ===== # /usr/bin/htpasswd -c /home/svn/dav_svn.passwd [username] ===== 建立各 project ===== # svnadmin create /home/svn/TEST # chown -R www-data:www-data /home/svn/TEST ===== 設定各 project 使用權限 ===== # vi /home/svn/dav_svn.authz [TEST:/] username = rw sars = r 若有中文檔名,要使用 UTF-8 without BOM 格式儲存。 ===== 重新啟動 apache2 ===== # /etc/init.d/apache2 restart ===== 網頁瀏覽 ===== http://localhost/svn/TEST ===== merge ===== mega commit 後要 undo 的方法:(不想要手動改回來) svn merge -r 1234:1233 . . svn commit 這個動作其實就是做一個 r1234 與 r1233 的 diff 後 patch 進 working repository,然後 commit 出去。 ====== Subversion on FreeBSD ====== 不使用 Apache 伺服器,直接用 svnserver 作為存取協定。 ===== 設定編譯 subversion 的參數 ===== 編輯 /usr/local/etc/pkgtools.conf,加上: MAKE_ARGS = { 'devel/subversion' => 'WITH_SVNSERVE_WRAPPER=yes WITH_PERL=yes', } ===== 安裝 subversion ===== portinstall devel/subversion 設定值: [X] PERL Perl bindings [X] NEON WebDAV/Delta-V repository access module [X] BDB db4 repository backend [X] SVNSERVE_WRAPPER Enable svnserve wrapper ====== Subversion on Windows ====== http://tw.myblog.yahoo.com/johnisacoolboy/article?mid=558 ====== trac on Debian ====== ===== 安裝 ===== # apt-get install trac # apt-get install libapache2-mod-python // 如果沒安裝的話 ===== 建立 trac 目錄 ===== # mkdir /home/trac # chown www-data:www-data /home/trac ===== 設定 ===== 直接把 trac 的設定和 svn 放在一起。 # vi /etc/apache2/mods-enabled/dav_svn.conf SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracEnvParentDir /home/trac // multiple projects PythonOption TracUriRoot /trac/ AuthType Basic AuthName "trac" AuthUserFile /home/svn/dav_svn.passwd // use same auth with svn Require valid-user ===== 新增專案 ===== # trac-admin TEST initenv Project Name [My Project]> Database connection string [sqlite:db/trac.db]> Repository type [svn]> Path to repository [/path/to/repos]> // ex: /home/svn/project_name Templates directory [/usr/share/trac/templates]> # chown -R www-data:www-data project_name 加入管理者帳號: trac-admin [[project_path]] permission add [[username]] TRAC_ADMIN ===== TracWebAdmin ===== 使用網頁介面取代 trac-admin 指令,方便專案管理。 確認是否已經安裝 python-setuptools。 # apt-get install python-setuptools 下載 WebAdmin 原始碼來編譯: # cd /tmp # svn co http://svn.edgewall.org/repos/trac/plugins/0.10/webadmin # python setup.py bdist_egg 完成後在 dist 目錄下會產生一個 TracWebAdmin-xxx.egg 檔案,複製到: # mv TracWebAdmin-xxx.egg /usr/local/lib/python2.X/site-packages/ 建立 Apache 執行 Python 時用的暫存目錄: # mkdir /var/www/.python-eggs # chown -R www-data:www-data /var/www/.python-eggs 重新啟動 Apache。 ===== 網頁瀏覽 ===== http://localhost/trac/project_name ===== 附註 ===== 所有上傳的檔案會依照每版本一個檔案放在 /home/svn/sandbox/db/revs 資料夾中。 ==== subversion 參考 ==== [[http://www.dev.idv.tw/mediawiki/index.php/TortoiseSVN使用簡介|TortoiseSVN使用簡介]] http://jostudio.blogspot.com/2006/12/svn-subversion-tortoisesvn.html http://blog.csdn.net/dennis85/archive/2006/08/11/1050900.aspx http://www.uml.org.cn/pzgl/200706011.asp http://www.mydigitallife.info/2005/11/23/subversion-svn-issues-and-problems-on-mod_dav_svn-in-freebsd/ http://www.onlamp.com/pub/a/bsd/2005/05/12/FreeBSD_Basics.html http://itdc.im.cyut.edu.tw/itdcwww/index.php?option=com_content&task=view&id=52&Itemid=31 Chapter 6. Server Configuration: http://svnbook.red-bean.com/en/1.4/svn.serverconfig.httpd.html ==== trac 參考 ==== http://trac.edgewall.org/wiki/TracInstall http://trac.edgewall.org/wiki/TracModPython http://www.vixual.net/blog/archives/232 ===== 刪除 .svn 目錄 ===== find . -type d -name '.svn' -exec rm -rf {} \; ====== iFolder ====== http://www.ifolder.com/ http://sourceforge.net/projects/ifolder/files/ iFolder is a safe and secure way to share and synchronize files across computers and within teams. ====== SparkleShare ====== http://sparkleshare.org/ SparkleShare is a collaboration and sharing tool that is designed to keep things simple and to stay out of your way. 2011/12/05: Do not support Windows client yet.