安裝、配置環境變量:略
配置伺服器版本庫
svnadmin create D:\Subversion\DevRepository\OnlineStudy
添加服務
sc create MySVNService binpath= "D:\Subversion\bin\svnserve.exe --service -r D:\Subversion\DevRepository" start= auto depend= Tcpip
啟動服務
net start MySVNService(最好使用此指令) 或者 sc start MySVNService
SC指令似乎是隻管發送指令,而不管服務啟動或停止的結果。
NET指令會等待執行結束,指令執行後,會等待啟動成功後再執行一下條指令。
檢出(伺服器到本地庫)
svn checkout svn://localhost/OnlineStudy D:\WorkSpace\OnlineStudy
添加到本地庫
svn add test.txt(本地庫根目錄執行)
或者其他目錄執行
C:\WINDOWS\system32>svn add D:\WorkSpace\OnlineStudy\src
A D:\WorkSpace\OnlineStudy\src
A D:\WorkSpace\OnlineStudy\src\test
A D:\WorkSpace\OnlineStudy\src\test\java
A D:\WorkSpace\OnlineStudy\src\test\java\HelloTest.java
A D:\WorkSpace\OnlineStudy\src\main
A D:\WorkSpace\OnlineStudy\src\main\resources
A D:\WorkSpace\OnlineStudy\src\main\java
C:\WINDOWS\system32>svn add D:\WorkSpace\OnlineStudy\web
A D:\WorkSpace\OnlineStudy\web
A D:\WorkSpace\OnlineStudy\web\WEB-INF
A D:\WorkSpace\OnlineStudy\web\WEB-INF\applicationContext.xml
A D:\WorkSpace\OnlineStudy\web\WEB-INF\dispatcher-servlet.xml
A D:\WorkSpace\OnlineStudy\web\WEB-INF\web.xml
C:\WINDOWS\system32>svn add D:\WorkSpace\OnlineStudy\pom.xml
A D:\WorkSpace\OnlineStudy\pom.xml
修改匿名通路權限
D:\Subversion\DevRepository\OnlineStudy\conf\svnserve.conf
将第19行的# anon-access = read改為anon-access = write,也就是去掉“# ”,将read改為write。注意前面不要留白格,一定要頂格寫
送出
svn commit -m "My first commit" (本地庫根目錄執行)
或者
svn commit D:\WorkSpace\OnlineStudy\ -m "My first commit"
檢出到其他目錄(OnlineStudy2)
svn checkout svn://localhost/OnlineStudy D:\WorkSpace\OnlineStudy2
修改OnlineStudy本地庫檔案并送出
C:\WINDOWS\system32>svn commit D:\WorkSpace\OnlineStudy\ -m "My first commit"
正在發送 D:\WorkSpace\OnlineStudy\src\test\java\HelloTest.java
傳輸檔案資料.
送出後的版本為 2。
更新本地庫OnlineStudy2
C:\WINDOWS\system32>svn update D:\WorkSpace\OnlineStudy2
正在更新 'D:\WorkSpace\OnlineStudy2':
U D:\WorkSpace\OnlineStudy2\src\test\java\HelloTest.java
更新到版本 2。
授權通路
[1]打開D:\Subversion\DevRepository\OnlineStudy\conf\svnserve.conf
[2]将第19行anon-access = write注釋掉:# anon-access = write
表明該版本庫不接受匿名通路 如果要檢視版本曆史條目 修改成 anon-access = none
[3]将第20行# auth-access = write注釋打開:auth-access = write
表明該版本庫使用授權通路
[4]将第27行注釋打開:password-db = passwd
表明使用同目錄下的passwd檔案儲存使用者資訊
[5]将第36行注釋打開:authz-db = authz
表明使用同目錄下的authz檔案儲存權限資訊
[6]打開passwd檔案建立使用者
[users]
# harry = harryssecret
# sally = sallyssecret
sirius = 1234
[7]打開authz檔案:#後面注釋的是例子
<1>建立使用者組
canWrite = userWrite01,userWrite02
<2>指定路徑,給使用者和使用者組授權
# [/foo/bar]
# harry = rw
# &joe = r
# * =屏蔽那些未設定的使用者,讓它們沒有任何權限
[/]
@canWrite = rw
userRead = r
* =
<3>權限的繼承性:父目錄設定的權限,對子目錄同樣有效——除非子目錄進行了更為具體的設定
[/subDir]
userOther = rw
* =
多版本庫共享配置
6.1 在版本庫根目錄D:\Subversion\DevRepository下建立commConf目錄
6.2 将未修改的authz和passwd檔案拷貝到commConf目錄下
6.3 修改需要設定權限的版本庫的svnserve.conf檔案
①password-db = ../../commConf/passwd
②authz-db = ../../commConf/authz
6.4 在password中建立使用者
[users]
# harry = harryssecret
# sally = sallyssecret
userERP = 123456
userOA = 123456
userCRM = 123456
6.5 在authz中針對不同版本庫為不同使用者授予權限
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[ERP:/]
userERP = rw
* =
[OA:/]
userOA = rw
* =
[CRM:/]
userCRM = rw
* =
關于idea 配置svn 2017.3.2版
settings->version control ->Subversion