svn安装及权限配置
- 格式:docx
- 大小:18.23 KB
- 文档页数:5
svn安装及权限配置
SVN安装及权限配置
安装(svn://…访问方式的安装部署)
1.安装svn-1.4.5-setup.exe
2.将SVNService.exe拷贝到\Subversion\bin下,双击安装。启动服务。
部署
1.创建SVN仓库
现在svn的目的位置上,创建相应文件夹,例如:E:/svnroot,然后开始→运行→cmd→输入命令:svnservice -install -d -r
E:/svnroot
2.启动svnservice服务
3.创建项目仓库
在svn仓库下创建项目的相应文件夹,例如:E:/svnroot/project1,然后开始→运行→cmd→输入命令:svnadmin create E:/svnroot/project1。这时,在E:/svnroot/project1会出现conf、dav 等文件夹和文件。
4.有多个项目时,重复步骤3。
权限配置
1.修改每个项目中的conf文件夹下的svnserve.conf文件:
anon-access = none
auth-access = write
password-db = ../../passwd
authz-db = ../../authz
添加以上项目。
其中,../../passwd表示,向上两级文件夹下的passwd文件。这样做的目的是,将所有项目的权限放在一个文件中控制。
2.设置加密和权限文件位置
将其中一个文件夹下的passwd文件和authz文件拷贝到svnroot下,与每个项目的文件夹平行。
3.设置svn密码,修改passwd文件
在【users】下添加用户名及密码,格式如下:
用户名= 密码,例如:harry = harrysecret
每个用户单独占一行,密码后不用添加任何分隔符号。
4.设置svn权限,修改authz文件:
设置【groups】:按照一种规则,将所有人员分组,例如可以按照对每个项目、每个项
目的不同权限进行分组,人员之间用逗号分隔,每个组单独占一行,结尾不需要任何分隔符号。例如:
admin = zhangsan,lisi
test = zhangsan
dev = lisi……
设置基本权限【/】:一般情况下,要设置*=r,也就是所有人都有读的权限,否则将不
能访问其下的文件,然后再根据需要设置读写权限。例如:
【/】
@admin = rw
* = r
设置每个项目权限【project1:/】,同上。设置每个
【project1:/】
@dev = rw
@test = r
* =
注意:其中“* = ”表示,除以上设置的权限人员外,其他人没有任何权限,也就是不能访问此文件夹下内容。
注意:
若只想授予一部分人看项目下的一个文件夹的权限,那么必须要先赋予其整个项目的只读权限,否则授权失败。
5.访问 在tortoise的URL地址中输入:svn://svn服务器IP/project1即可。
备份
1.全备
svnadmin dump
e:\svnroot\armyinfo\>e:\svnroot\back\armyinfo.dump
2.增量备份:
svnadmin dump e:\svnroot\armyinfo --revision
0:1000>armyinfo_new(0-1000).dump
svnadmin dump e:\svnroot\armyinfo --revision 1001:1126 --incremental>
armyinfo(1001-1126).dump
注:两个语句的区别在--incremental,
如果转储时设置了--incremental选项,svnadmin会比较第一个转储的修订版本和版本库中前一个修订版本,就像对待其它转储的修订版本一样。
若没有设置—incremental选项,还原时将原来的版本覆盖掉,只剩下还原的这些版本。
移植
1.复制svn项目:
开始→运行→cmd→输入命令:svnadmin dump
E:/svnroot/project1/>project1.dump
其中:E:/svnroot/project1为项目的位置,project1.dump为svn备份的文件位置及名称。
2.在新的svn中创建需要移植的项目,操作方法见部署中的步骤3。
3.load项目:
将备份的project1.dump文件拷贝到目标机器上:
开始→运行→cmd→输入命令:svnadmin load
E:/svnroot/project1< project1.dump
其中,E:/svnroot/project1为新的svn项目位置,project1.dump为备份文件位置及名称4.为新移植的项目添加权限
命令使用
示例:
svn log svn://localhost/xfsc -r 8
svnlook info e:\svnroot\xfsc -r 10
注:注意路径和URL的区别
1.svn命令:
2.svnlook命令
author显示该树的作者。
cat显示树中某文件的内容。
changed显示树中修改过的所有文件和目录。
date显示该树的时间戳。
diff使用统一区别格式显示被修改的文件。
dirs-changed显示树中本身被修改或者其中文件被修改的目录。
history显示受到版本控制的路径(更改和复制发生过的地方)中重要的历史点。info显示树的作者、时间戳、日志大小和日志信息。
log显示树的日志信息。
propget显示树中路径的属性值。
proplist显示树中属性集合的名字与值。
tree显示树列表,可选的显示与路径有关的文件系统节点的修订版本号。
uuid显示版本库的UUID—全局唯一标示。
youngest显示最年轻的修订版本号。
3.svnadmin命令:
create创建一个新的Subversion版本库。
deltify在指定的修订版本范围内,对其中修改过的路径做增量化操作。如果没有指定修订版本,这条命令会修改HEAD修订版本。
dump导出版本库修订一定版本范围内的内容,使用可移植转储格式。
hotcopy对版本库做热拷贝,用这个方法你能任何时候安全的备份版本库而无需考虑是否正在使用。
list-dblogs(Berkeley DB版本库专有)列出Berkeley DB中与版本库有关的日志文件清单。这个清单包括所有的日志文件—仍然被版本库使用的和不再使用的。
list-unused-dblogs(Berkeley DB版本库专有)列出Berkeley
DB版本库有关的不在使用日志文件路径清单。你能安全的从版本库中删除那些日志文件,也可以将它们存档以用来在灾难事件后版本库的恢复。
load导入由dump子命令导出的可移植转储格式的一组修订版本。
lstxns 列出刚刚在版本库的没有提交的Subversion事务清单。
recover恢复版本库,通常在版本库发生了致命错误的时候,例如阻碍进程干净的关闭同版本库的连接的错误。
rmtxns从版本库中清除Subversion事务(通过加工lstxns子命令的输出即可)。setlog替换给定修订版本的svn:log(提交日志信息)属性值。
verify验证版本库的内容,包括校验比较本地版本化数据和版本库。
4.