軟件(版本):
apache_2.0.59-win32-x86-openssl-0.9.7j.msi
svn-1.4.4-setup.exe
TortoiseSVN-1.4.5.10425-win32-svn-1.4.5.msi
SVN管理
創建SVN目錄
svnadmin create E:\svn
啟動svn服務,-d后臺模式,-r指定服務器的倉庫路徑
svnserve -d -r E:\svn
首先將命令行的當前目錄轉到要導入SVN的項目的根文件下執行
svn import svn://localhost,把當前目錄和子目錄和文件import到SVN管轄之中
注意:
1、設置SVN_EDITOR環境變量,設定編輯器保存日志信息
2、認證失?。涸赟VN項目的conf目錄下svnserve.conf
設置匿名用戶的權限anon-access = read,讀的權限;anon-access = write寫的權限
svn mkdir svn://localhost/porject2,在服務器端創建虛擬目錄
svn import svn://localhost/porject2
svn checkout svn://localhost/porject2,在要存放checkout的目錄下之執行
svn commit test.txt,在修改的目錄下執行。
svn commit test.txt -F c:\log.txt指定日志文件
### Uncomment the line below to use the default password file.
# password-db = passwd
使用默認的密碼文件passwd
SVN用戶登陸的信息會保存在C盤用戶目錄下面
備份SVN的命令
svnadmin hotcopy F:\SVN D:\SVN
把F:\SVN備份到D:\SVN
apache的安裝
注意:IIS和迅雷,skype等軟件都會占用80端口
在命令行下使用:netstat -a,netstat -ab;可以查看端口占用情況
apache整合subversion
把Sbuversion/bin目錄下面的mod_authz_svn.so,mod_dav_svn.so復制到Apache2\modules下面
修改Apache2\conf\httpd.conf,去掉145,146行的注釋
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
在后面加上
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule dav_svn_module modules/mod_dav_svn.so
最后加上
<Location /svn>
DAV svn
SVNPath F:\SVN
</Location>
增加登陸密碼
<Location /svn>
DAV svn
SVNPath F:\SVN
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile F:\passwd\passwords
Require valid-user
</Location>
配置環境變量\Apache2\bin
執行htpasswd命令,htpasswd -c F:\passwd\passwords hello
創建passwords文件和hello用戶,然后增加密碼
-c為創建文件 -p為明文顯示密碼
設置倉庫的根目錄,SVNParentPath。下面可以有子目錄
<Location /svn>
DAV svn
SVNParentPath F:\SVN
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile F:\passwd\passwords
Require valid-user
</Location>
在SVN倉庫下創建子倉庫subsvn,再import一個項目到http://localhost/svn/subsvn中去
此時合法用戶只能訪問http://localhost/svn/subsvn,而http://localhost/svn/為403
使得合法用戶可以寫操作,而讀不需要用戶名和密碼
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
增加用戶分組,不允許匿名用戶訪問。創建用戶權限文件
<Location /svn>
DAV svn
SVNParentPath F:\SVN
AuthzSVNAccessFile F:\passwd\policy
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile F:\passwd\passwords
Require valid-user
</Location>
創建policy,在其中加入
[helloworld:/]
hello=rw
google=r
baidu=
用戶分組
[groups]
developers=hello,google
testers=baidu
也可以這樣
testers=@developers,baidu
對于項目組的權限
[helloworld:/]
@developers=rw
@testers=r