Windows下SVN服務器和客戶端的安裝和使用詳解
本節簡單向大家Windows下SVN服務器和客戶端的安裝與使用,主要包括Windows下SVN服務器安裝與配置,SVN客戶端的安裝配置,代碼的導入和導出等內容,歡迎大家一起來學習。
一、什么是SVN服務器
Subversion,簡稱SVN,是一個開放源代碼的版本控制系統(SCM),相對于的RCS、CVS,采用了分支管理系統,它的設計目標就是取代CVS。互聯網上越來越多的控制服務從CVS轉移到Subversion。主頁:http://subversion.apache.org/
二、Windows下SVN服務器端的安裝與配置
(一)安裝
Windows環境下面分了CollabNet/Tigris.org(Apache2.2和Apache2.0)/SlikSVN/VisualSVN5個鏈接,我選的是TigrisApache2.2,下載一個目前最新的Setup-Subversion-1.6.6.msi,點擊,一路安裝即可,很簡單。
開始菜單-》運行-》輸入Cmd回車,敲“svn--version--quiet”,會得到SVN的版本號。
(二)配置
1、創建repository
Rrepository是存儲數據的地方。
例如要在F:\svnroot下創建repository,就使用命令行svnadmincreatef:\svnroot。如果執行正確的話,會在F盤下多一個SVNROOT的目錄,目錄下有4個目錄和2個文件。
2、啟動SVN服務
使用命令行svnserve-d-rf:/svnroot,這樣外部就可以它能夠過客戶端來訪問了。
我運行完才發現,這樣cmd窗口還不得不一直開著,很難看,當然一般大公司的代碼服務器是24小時開著的。上網搜了一下,也可以作為一個服務自動啟動的。執行腳本sccreatesvnbinpath="\"d:\ProgramFiles\Subversion\bin\svnserve.exe\"--service-r\"f:/svnroot\""displayname="SubversionServer"depend=Tcpipstart=auto就可以將svnserve程序作為服務載入。安裝路徑和存儲數據的目錄要根據自己的情況修改。
執行完這個腳本,可以去管理工具-》控制面板-》服務那里找找SubversionServer,如果沒啟動就啟動。Windows下SVN服務器中的基本設置。
3、基本設置
修改f:|svnroot\repos\conf\svnserve.conf,注釋很詳細。
[general]
anon-access=none
auth-access=write
password-db=passwd
authz-db=authz
realm=MyFirstRepository
[sasl]
#use-sasl=true
#min-encryption=0
#max-encryption=256
其中,anon-access=none表示要用戶名和密碼,password-db=passwd表示passwd是存身份驗證的用戶名和密碼。sasl,就是加密訪問用的,一般也可以不用。
4、用戶管理
在f:|svnroot\repos\conf\passwd里添加有權限的用戶名和密碼。例如添加用戶yobin,密碼123456,就這樣:
[users]
#harry=harryssecret
yobin=123456
hh=111
ss=222
5、分組管理和權限設置
Windows下SVN服務器中分組管理和權限設置。如果是所有文件對用戶都可見的話,上面幾步也足夠用了。但要想對一些人可見,一些人不可見的話,就要去修改authz文件了。
&別名:別名的引用
@用戶組名:某組用戶
$authenticated:所有已授權用戶
$anonymous:匿名用戶
*:任何人
r:寫權限
rw:讀寫權限
:不能訪問(空,什么都不寫)
設置用戶權限的時候,'='左側代表用戶名稱,可以是實際用戶名,也可以是定義的用戶組名,也可以是別名,但要用'@'作為前綴,或者是所有用戶'*'。'='右側代表設置的權限'r'、'rw'或者為空即代表用戶對于該目錄無任何權限。
authz文件中對版本庫路徑的表示方法。用'[/]'來表示版本庫的根目錄,如果有子目錄foo,設置該目錄權限時用'[/foo]'即可,其他任何目錄都以'/'為版本根目錄進行表示。注意了,別用”\“!!!
用戶某個目錄的權限是向子目錄遞歸的。如果用戶對于/foo目錄有讀寫權限,則該用戶對于foo目錄下的所有子目錄都有讀寫權限。如果不設置最上層的目錄沒有設置權限,那么就相當于不設置,禁止訪問。權限分配,只可以分配到某個目錄,而不能到某個文件。
寫了一個例子,或者看看文件自帶的吧,看看就明白了。
[aliases]
yy=yobin
[groups]
yy_hh_ss=&yy,hh,ss
[/folder1]
&yy=rw
hh=r
*=
[/folder2]
@yy_hh_ss=rw
*=r
三、SVN客戶端的安裝
選擇TortoiseSvn,下載后一路點擊即可。下載地址:http://tortoisesvn.net/downloads
四、代碼的導入和檢出(下面這部分是拷貝的,來自http://junnan.org/blog/?p=7)
至此Subversion完裝完成,下面可以使用TortoiseSVN來連接了,首先找到要上傳到版本庫的網站目錄,然后右擊目錄,選擇TortoiseSVN->導入,我這里的版本庫URL添寫:svn://localhost/inan_blog,這里的localhost你可以換成你的IP,后面的inan_blog是要放在版本庫中源代碼的別名,便于分類,點擊確定,然后輸入在passwd文件里設置的驗證信息,開始連接并開始上傳源碼。
導入完成后就可以通知對方取出版本庫中的源碼開始開發了,首先在本地建立一個存放項目源碼的文件夾,然后右擊該文件夾,選擇“SVN檢出”,這里假設我的公網IP是58.52.168.2,然后版本庫URL就應該添寫:svn://58.52.168.2/inan_blog,檢出至目錄默認就是當前新建的目錄,然后點擊確定,出現驗證對話框,同樣輸入在passwd文件里設定的驗證信息,就開始下載源碼至本地并可以進行開發了。修改了源碼之后,被修改的文件的圖標會自動標識出已更改,這時只需要右擊該文件夾,選擇“SVN提交”,TortoiseSVN就會列出整個目錄已更改的文件,在信息欄里輸入一下修改說明,好讓別人知道你修改了什么,點擊確實就可以把最新修改的源碼上傳到版本庫中,當然在你修改源碼之前,應該右擊該文件夾,選擇“SVN檢出”來從版本庫檢查源碼是否有更新并下載最新源碼到本地再進行開發,“TortoiseSVN->顯示日志”菜單項可以顯示對方修改了什么。
如果兩人同時在修改了一個文件并提交,TortoiseSVN就會檢查修改的代碼是否在同一行,如果不是在同一行,它會自動將代碼合并,如果在同一行,TortoiseSVN就會顯示沖突,這時就需要手動來修改了,具體操作就不多說了,可以參考TortoiseSVN手冊,或者下面的教程:http://svn.coollittlethings.com/document.php。本節關于Windows下SVN服務器和客戶端的安裝和使用介紹完畢。
【編輯推薦】