- 本站下載Setup-Subversion-1.6.2.msi或取得最新版Subversion (搜尋關鍵字Win32Svn)
- 取得最新版TortoiseSVN
- 以下範例使用Subversion-1.6.2版作說明
- 下載svn server並安裝。
- 所有的庫放在路徑d:\svn\repository\。
- 建一個庫hello作測試。(建立庫的規則:可以為每個專案都建立一個庫,或者所有的專案共用一個庫)
- 建立一個資料夾,路徑為d:\svn\repository\hello。
- 選擇資料夾hello,點擊右鍵選擇選單項目"Tortoise SVN| Create Repository Here"。
- 啟動SVN Server,下指令 "C:\Program Files\Subversion\bin\svnserve.exe" -d -r d:\svn\repository --listen-port 9000。可以作一個批次檔來啟動它。
- 修改config檔:
D:\svn\repository\hello\conf\svnserve.conf [general] anon-access = none #一般人不准存取, 包括讀 auth-access = write password-db = passwd D:\svn\repository\hello\conf\passwd [users] # harry = harryssecret # sally = sallyssecret feelings = programfeelings #建立自己的帳號密碼
SVN伺服器權限配置
- 目的:設定 hello repository可以讓Harry讀寫,Sally只能讀。
- 編輯檔案D:\svn\repository\hello\conf\authz,加入下面幾行:
[svn_root:/]
harry = rw #注意英文字母皆小寫
sally = r #權限配置的文件 (authz) 裡的用戶名需已定義在用戶配置的文件 (passwd) 中
- 編輯檔案D:\svn\repository\hello\conf\svnserve.conf,只開啟功能password-db與authz-db,修改如下:
[general]
password-db = passwd
authz-db = authz
- 編輯檔案D:\svn\repository\hello\conf\passwd,加入下面幾行:
harry = harry
sally = sally
SVN伺服器權限配置細節
- 用戶組格式:
[groups]
<用戶組名>=<用戶1>,<用戶2>
其中,1個用戶組可以包含1個或多個用戶,用戶間以逗號分隔。
- 版本庫目錄格式:
[<版本庫>:/項目/目錄]
@<用戶組名>=<權限>
<用戶名>=<權限>
/,表示根目錄及以下。根目錄是svnserve啟動時指定的,我們指定為F:\SVNRoot。這樣,/就是表示對全部版本庫設置權限。
repo1:/,表示對版本庫1設置權限
repo1:/ref,,表示對版本庫1中的ref目錄設置權限
repo2:/,表示對版本庫2設置權限
權限主體可以是用戶組、用戶或*,用戶組在前面加@,*表示全部用戶。權限可以是w、r、wr和空,空表示沒有任何權限
- authz文件例子
#設定群組成員
[groups]
admin=hgx
guest=cook
#設定admin群組可以讀寫根目錄
[/]
@admin=rw
[repo1:/ref]
hgx=rw
#設定可以讀寫repo2 repository的成員
[repo2:/]
hgx=rw
cook=r
SVN客戶端操作
- 建立一個資料夾hello作check out。
- 選擇資料夾hello,點擊右鍵選擇選單項目"SVN checkout..."。(svn路徑為svn://127.0.0.1/hello)
沒有留言:
張貼留言