經過一週的時間終於把svn搞定了(win客戶端+linux服務或win服務)。
先介紹一下吧:
1.SubVersion概述
SVN(Subversion)是一種開放源碼的全新版本控制系統,支持可在本地訪問或通過網絡訪問的數據庫和文件系統存儲庫。不但提供了常見的比較、修補、標記、提交、回覆和分支功能性,Subversion 還增加了追蹤移動和刪除的能力。此外,它支持非 ASCII 文本和二進制數據,所有這一切都使 Subversion 不僅對傳統的編程任務非常有用,同時也適於 Web 開發、圖書創作和其他在傳統方式下未採納版本控制功能的領域。
以下是我總結的一些步驟,感覺很詳細了。
2.windows服務端安裝配置
下載安裝包就不用說了吧:-)
1.安裝Setup-Subversion-1.5.1.en-us.msi
2.安裝成功後,在命令行輸入svnadmin create D:svnhomeworkflow,建立工程,
svn自動會在該目錄下建立若干文件
3.在該目錄下有password文件,在此文件中增加用戶和密碼格式如下
[users]admin = 123在svnserve.conf文件中增加
[general]anon-access = read
auth-access = write
password-db = passw
drealm = svnhome
到這一步svn服務器已經配置完成了,下面是導入需要版本控制的工程
4.在命令行執行import命令例如:dos進入“D:svnhomeworkflow>”
svn import D:eclipseworkspaceWorkflow file:///D:/svnhomeworkflow -m "initial import"
回車後命令窗口顯示新增 D:eclipseworkspace
5.客戶端安裝
服務器安裝,直接運行svn-1.4.0-setup.exe ,根據提示安裝即可,這樣我們就有了一套服務器
可以運行的環境。
安裝TortoiseSVN,同樣直接運行TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi按照提示安裝即可,
不過最後完成後會提示是否重啓,其實重啓只是使svn工作拷貝在windows中的特殊樣式生效,
與所有的實際功能無關,這裏爲了立刻看到好的效果,還是重新啓動機器。
6,建立版本庫(Repository)
運行Subversion服務器需要首先要建立一個版本庫(Repository),可以看作服務器上存放
數據的數據庫,在安裝了Subversion服務器之後,可以直接運行,如:
svnadmin create D:/svnhomeworkflow 就會在目錄D:/svnhomeworkflow 下創建一個版本庫。
我們也可以使用TortoiseSVN圖形化的完成這一步:
在目錄D:/svnhomeworkflow 下"右鍵->TortoiseSVN->Create Repository here...“, 然後可以
選擇版本庫模式, 這裏使用默認即可, 然後就創建了一系列目錄和文件。
7,配置用戶和權限
來到D:/svnhomeworkflow/conf目錄,修改svnserve.conf:
# [general]
# password-db = passwd
改爲:
[general]
password-db = passwd 然後修改同目錄的passwd文件,去掉下面三行的註釋:
# [users]
# harry = harryssecret
# sally = sallyssecret
最後變成:
[users]
harry = harryssecret
sally = sallyssecret
8,運行獨立服務器
在任意目錄下運行:
svnserve -d -r D:/svnhomeworkflow 我們的服務器程序就已經啓動了。注意不要關閉命令行窗口,
關閉窗口也會把svnserve停止。
9,初始化導入
來到我們想要導入的項目根目錄,在這個例子裏是D:/svnhomeworkflow ,
目錄下有一個readme.txt文件:
右鍵->TortoiseSVN->Import...
URL of repository輸入“svn://localhost/”
ok
完成之後目錄沒有任何變化,如果沒有報錯,數據就已經全部導入到了我們剛纔定義的版本庫中。
需要注意的是,這一步操作可以完全在另一臺安裝了TortoiseSVN的主機上進行。
例如運行svnserve的主機的IP是192.168.0.5,則URL部分輸入的內容就是“svn://192.168.0.5/”。
10,基本客戶端操作
取出版本庫到一個工作拷貝:
來到任意空目錄下,在本例中是E:/svndemo/wc1,運行右鍵->Checkout,
在URL of repository中輸入svn://localhost/,這樣我們就得到了一份工作拷貝。
在工作拷貝中作出修改並提交:
打開readme.txt,作出修改,然後右鍵->Commit...,這樣我們就把修改提交到了版本庫,
我們可以運行。
察看所作的修改:
readme.txt上右鍵->TortoiseSVN->Show Log,這樣我們就可以看到我們對這個文件所有的提交。
在版本1上右鍵->Compare with working copy,我們可以比較工作拷貝的文件和版本1的區別。
11, 進一步權限控制
查看權限
[/]
@g_admin = rw
* =
[/項目名]
@g_admin = rw
* =