SVN的安裝配置與使用
SVN 的安裝配置與使用1 SVN安裝配置 ..............................................................................
SVN 的安裝配置與使用
1 SVN安裝配置 ............................................................................................................... 2
1.1 安裝 ................................................................................................................... 2
1.1.1 下載 . ................................................................................................................ 2
1.1.2 安裝 . ................................................................................................................ 2
1.2 配置 ................................................................................................................... 3
1.2.1 復(fù)制文件 . ......................................................................................................... 3
1.2.2 模塊加載 . ......................................................................................................... 4
1.2.3 SVN的版本庫目錄設(shè)置 . .................................................................................... 5
1.2.4 創(chuàng)建數(shù)據(jù)倉庫 . .................................................................................................. 6
1.2.5 設(shè)置用戶 . ......................................................................................................... 7
2 SVN的使用................................................................................................................. 10
2.1 基本操作 .......................................................................................................... 10
2.1.1 安裝客戶端 .................................................................................................... 10
2.1.2 建立工作區(qū) .................................................................................................... 10
2.1.3 下載版本庫 .................................................................................................... 10
2.1.4 修改版本庫 .....................................................................................................11
2.2 其他操作 .......................................................................................................... 12
2.2.1
2.2.2
2.2.3
2.2.4 比較文件的不同之處 ...................................................................................... 12 查看日志 . ....................................................................................................... 13 查看版本樹 .................................................................................................... 13 下載某個(gè)文件的舊版本 . .................................................................................. 14
2.2.5 重名名和刪除文件 . ......................................................................................... 15
2.2.6 創(chuàng)建分支 . ....................................................................................................... 15
2.2.7 合并分支 . ....................................................................................................... 16
2.2.8 撤銷修改 . ....................................................................................................... 17
1
,1 SVN 安裝配置
1.1安裝
1.1.1下載
(1)下載Apache :apache_2.2.14-win32-x86-openssl-0.9.8k.msi安裝包(百度即可);
Apache 是提供http 服務(wù)的,相當(dāng)于http 服務(wù)的代理軟件,在沒有與其他服務(wù)器軟件相結(jié)合的情況下,只能解析html 文件,不能解析和編譯jsp 文件。
(2)下載SVN :Setup-Subversion-1.6.6.msi 安裝包(百度即可);
SVN 一般應(yīng)該是指版本服務(wù)器,可以在apache 下配置。支付遠(yuǎn)程訪問(外網(wǎng)訪問),支持加密傳輸。遠(yuǎn)程訪問對于不能集中開發(fā)的團(tuán)隊(duì)來說很重要,這樣可以隨時(shí)保持版本同步。
(3)下載TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi 安裝包(百度即可); TortoiseSVN 是 Subversion 版本控制系統(tǒng)的一個(gè)免費(fèi)開源客戶端,可以超越時(shí)間的管理文件和目錄。文件保存在中央版本庫,除了能記住文件和目錄的每次修改以外,版本庫非常像普通的文件服務(wù)器。你可以將文件恢復(fù)到過去的版本,并且可以通過檢查歷史知道數(shù)據(jù)做了哪些修改,誰做的修改。這就是為什么許多人將 Subversion 和版本控制系統(tǒng)看作一種“時(shí)間機(jī)器”。
1.1.2安裝
安裝Apache ,SVN 和TortoiseSVN 都很簡單,只要注意幾點(diǎn)就行了。(我的安裝目錄:Apache 安裝在“D:Apache2.2”下;SVN 安裝在“D: Subversion” 下;TortoiseSVN 安裝在“D:TortoiseSvn” 下。)
(1)安裝apache
安裝apache 一般來說直接點(diǎn)下一步就可以了, 在設(shè)置domain 以及host 的時(shí)候, 沒有自己的域名可以設(shè)置為localhost,Email 填你自己的Email 。
注意:
安裝時(shí)下面兩個(gè)選擇項(xiàng):
for All Users,on port 80, as a Service --Recommended.
only for Current User, on port 8080, when started Manually.
意思是:
為所有用戶安裝程序和快捷方式,端口80,作為服務(wù)安裝,推薦;
2
,僅為當(dāng)前用戶安裝程序和快捷方式, 端口8080,啟動(dòng)apache 服務(wù)手動(dòng)啟動(dòng)。 選擇第一個(gè)注意80端口有沒被占用,第二個(gè)則注意8080端口占用問題。 裝好apache 以后, 這個(gè)時(shí)候, 它已經(jīng)在運(yùn)行了,
你可以在瀏覽器的地址欄輸入http://localhost看看頁面是否出現(xiàn) It works!

出現(xiàn)則表明安裝成功,沒有出現(xiàn),檢查可能出現(xiàn)的問題。
如果是端口被占用
打開apache 安裝目錄下confhttpd.conf
找到:Listen 80
為防止端口號被占用我改成了: Listen 88
所以我訪問的apache 時(shí)候路徑就得跟端口號:http://localhost:88
(2)安裝SVN
雙擊“Setup-Subversion-1.6.6.msi”,開始安裝SVN 。這個(gè)簡單,沒有什么特別的,點(diǎn)擊“下一步”安裝就行了。
(3)安裝TortoiseSVN
雙擊“TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi ”,開始安裝TortoiseSVN, TortoiseSVN 的安裝簡單,一直下一步就行。
1.2配置
1.2.1復(fù)制文件
在D:Subversionbin目錄下復(fù)制下面兩個(gè)文件mod_authz_svn.so、mod_dav_svn.so粘帖到D:Apache2.2modules下;
3
,
1.2.2模塊加載
打開D:Apache2.2confhttpd.conf文件,找到: #LoadModule dav_module modules/mod_dav.so , #LoadModule dav_fs_module modules/mod_dav_fs.so 去掉前面的注釋符號#
4


然后在這兩段下面添加:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

注意不要隨意改變順序。可能出現(xiàn)其它錯(cuò)誤。
1.2.3SVN 的版本庫目錄設(shè)置
設(shè)置SVN 的版本庫目錄, 以使我們的apache 能知道訪問不同的URL 的時(shí)候, 它去哪里尋找這個(gè)URL 所對應(yīng)的SVN 目錄.
在D:Apache2.2confhttpd.conf文件最后, 增加如下內(nèi)容:
DA V svn
SVNPath D:/svnroot/myproject
AuthzSVNAccessFile D:/svnroot/myproject/conf/access.auth
Satisfy Any
5
,Require valid-user
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile D:/svnroot/myproject/conf/users.auth
Require valid-user

上面使用了access.auth ,和users.auth 兩個(gè)文件,我們后面創(chuàng)建。
1.2.4創(chuàng)建數(shù)據(jù)倉庫
在D:創(chuàng)建svnroot 文件夾,然后通過svn 的svnadmin 命令創(chuàng)建數(shù)據(jù)倉庫。 (注意:D:svnrootmyproject 這個(gè)路徑是區(qū)分大小寫的)
svnadmin create D:svnrootmyproject

如果運(yùn)行成功的話, 什么也沒有輸出。
6
,1.2.5設(shè)置用戶
在創(chuàng)建的myProject 文件夾下面我們會發(fā)現(xiàn)多了幾個(gè)文件夾和文件, 打開conf 文件夾;


然后使用記事本打開svnserve.conf 文件, 找到如下行# password-db = passwd,然后把它前面的#去掉, 表示myProject 是需要密碼驗(yàn)證的;
7
,
再打開conf 文件夾下面的passwd 文件, 用文本編輯器打開, 在[users]下面加上我們需要的用戶和密碼, 比如:
[users]
admin=admin
tom=123
我們就啟動(dòng)了兩個(gè)用戶, 一個(gè)叫admin, 密碼是admin, 一個(gè)叫tom, 密碼是123. 然后保存為passwd 文件. 。

我們再建一個(gè)文件, 叫access.auth, 這個(gè)文件是設(shè)置訪問權(quán)限的, 里面內(nèi)容如下:
[myproject:/]
admin = rw
[myproject:/module1]
tom=rw
8
,admin=rw
rm 表示可讀可寫,這表示,myproject 下面的所有子目錄admin 都是有權(quán)限讀寫的, 但是tom 只有權(quán)限讀寫此項(xiàng)目下面的module1目錄, 這個(gè)各自的訪問權(quán)限就分的更細(xì)致了。

命令行模式下,到apache 安裝目錄下的bin 目錄下 操作如下
D: Apache2.2bin>htpasswd -cb users.auth admin admin
Automatically using MD5 format.
Adding password for user jam

D: Apache2.2bin>
為admin 用戶設(shè)置好密碼,創(chuàng)建第一個(gè)用戶時(shí)創(chuàng)建文件,添加第二個(gè)用戶則不用創(chuàng)建,具體命令參數(shù)有細(xì)微區(qū)別,請注意-cb
D: Apache2.2bin>htpasswd -b users.auth tom 123
9
,Automatically using MD5 format.
Adding password for user tom

D: Apache2.2bin>
此時(shí)把D: Apache2.2bin 目錄下的users.auth 復(fù)制粘貼到
D:svnrootmyprojectconf 目錄下
重新啟動(dòng)apache 服務(wù),通過http://localhost:88/svn/myproject/
注:沒改端口號的訪問 (http://localhost/svn/myproject/)
訪問出現(xiàn)
myproject - Revision 0: /
2 SVN 的使用
2.1基本操作
2.1.1安裝客戶端
在1.SVN 的安裝配置中,已經(jīng)安裝了客戶端TortoiseSVN 。安裝成功后,右鍵單擊鼠標(biāo)會多出兩個(gè)選項(xiàng),分別是SVN checkout和Tortoise SVN。
2.1.2建立工作區(qū)
項(xiàng)目開始之前,在本地PC 的硬盤上,創(chuàng)建一個(gè)文件夾,文件夾命名隨意(例如workspace ),該文件夾即作為軟件開發(fā)者在項(xiàng)目開發(fā)過程中的工作區(qū)。
2.1.3下載版本庫
假如現(xiàn)在開發(fā)一個(gè)項(xiàng)目,配置管理員會在服務(wù)端建立一個(gè)該項(xiàng)目的版本庫test 在workspace 文件夾上,右鍵單擊鼠標(biāo)。選擇SVN checkout,會出現(xiàn)如下
10