====== 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.