(轉(zhuǎn)載自http://dog.xmu.edu.cn/modules.php?op=modload&name=News&file=article&sid=246&mode=thread&order=0&thold=0)?
Subversion的目錄結(jié)構(gòu)是很自由的,所有的規(guī)劃都必須是你自己規(guī)定,考慮一個subversion倉庫的目錄樹,你可以把任何一個目錄認(rèn)定為一個項(xiàng)目,你可以只checkout這個目錄下的所有文件進(jìn)行編碼,跟CVS不同,CVS顯式指定一個個module。所以你可以在一個倉庫內(nèi)保存多個項(xiàng)目,也可以一個倉庫保存一個項(xiàng)目而使用多個倉庫。我個人比較喜歡第二種,因?yàn)镾ubversion的每次commit都會導(dǎo)致整個倉庫版本號增加一個,會使得多個項(xiàng)目的版本號出現(xiàn)斷層。而且如果多個項(xiàng)目參與人不同,就必須使用apache2進(jìn)行細(xì)粒度的權(quán)限控制,不是太方便。一個倉庫一個項(xiàng)目,顯得更優(yōu)雅一些。
以下是我研究出的倉庫規(guī)劃。
在server端,新建一個目錄用來存放所有的倉庫。比如c:\svnrepos。然后在這個目錄下建立每個項(xiàng)目獨(dú)立的倉庫。
svnadmin create "c:\svnrepos\rolex"
svnadmin create "c:\svnrepos\omega"
使用 svnserve -d -r "c:\svnrepos" 啟動。這樣你的項(xiàng)目的url是:
svn://IP/rolex
svn://IP/omega
在客戶端新建一個目錄,作為import的內(nèi)容,比如c:\svnimport\rolex,然后在里面建立branches,tags,trunk子目錄,把你需要源代碼管理的項(xiàng)目放入trunk目錄,注意刪除垃圾文件。在c:\svnimport\rolex上點(diǎn)擊Import...,選擇url為svn://IP/rolex,導(dǎo)入。你可以使用倉庫瀏覽器查看導(dǎo)入的效果。
需要工作時,新建一個目錄比如c:\svnclient\rolex\trunk,然后在trunk上checkout出svn://IP/rolex/trunk上的內(nèi)容。
posted on 2007-01-11 09:45
哈哈的日子 閱讀(430)
評論(0) 編輯 收藏 所屬分類:
Java