如果selinux开启了,它会阻止文件的写入,从仓库中拉去正常,但上传的时候会出现 不能打开文件"/db/txn-current-lock"权限不够
如果出现semanage未定义,可以参考 CentOS7 中安装semanage来设置selinux
仓库目录为 /home/svn/test ,如果要删除版本仓库直接删除目录就可以了 rm -rf /home/svn/test
在仓库目录 /home/svn/test 的 conf 目录中会有三个文件
修改配置
修改配置添加账号密码,以 账号=密码 的格式配置, = 号二边尽量不要存在空格
权限管理分为组管理和目录权限管理
多个创建可以共用一套账号和密码权限管理。也可以用不同的账号密码管理,如果用不同的配置少单仓库类似,修改每个仓库conf下的账号和权限文件就可以了。下面说一下共用账号权限文件的情况。
在仓库目录 /home/svn 目录中创建authz文件和passwd文件。
修改配置各仓库下conf/svnserveconf。将password-db和authz-db指向/home/svn/目录下的文件
修改/home/svn/passwd配置添加账号密码,以 账号=密码 的格式配置, = 号二边尽量不要存在空格
修改/home/svn/authz权限管理分为组管理和目录权限管理
如果单仓库以/home/svn启动,此时访问的地址会有仓库名。 svn://ip/test
访问地址分别为:
编辑 /etc/sysconfig/svnserve 文件,修改 OPTIONS="-r /var/svn" 参数改为svn仓库目录 OPTIONS="-r /home/svn"
设置开机启动
修改后也可以用systemctl来启动、停止、重启
svnserve启动后,修改authz和passwd文件是时实生效的,并不需要重启服务
有时随着仓库越来越多,权限配置也越来越多时,会出现一些配置错误,导致访问时出现无法加载权限验证之前的错误,这个时候我们可以将svn服务器的日志打印出来,看些配置出错了。
停止svn服务器,重新附加log-file参数输入日志到指定文件1,软件下载
SVN服务器
本文以下载svn-win32-161zip 为例进行安装
下载Subversion的Windows客户端TortoiseSVN。(如果习惯CMD命令方式,也可以不下载)
2,服务器和客户端安装
服务器安装,解压下载的svn-win32-161zip到任意位置
安装TortoiseSVN,按照提示安装即可。(如果习惯CMD命令方式,也可以不安装)
3,建立版本库(Repository)
方法一:命令方式
用CMD进入svn-win32-161zip解压后的bin文件夹执行
svnadmin create D:\svnRoot
就会在目录D:\svnRoot下创建一个版本库。
方法二:使用TortoiseSVN图形化的完成这一步
在目录D:\svnRoot上"右键->TortoiseSVN->Create Repository here “,就会将D:\svnRoot创建为一个版本库
4,配置用户和权限
来到D:\svnRoot\conf目录,修改svnserveconf:
# [general]
# password-db = passwd
改为(即去掉前面的#):
[general]
password-db = passwd
然后修改同目录的passwd文件,去掉注释:
# [users]
最后变成:
[users]
然后照:用户名=密码的形式创建用户
5,运行独立服务器
安装服务,在任意目录下运行:
sc create subversion_service binpath= "C:\svn-win32-161\bin\svnserveexe --service -r D:\svnRoot" displayname= "Subversion Repository" depend= Tcpip
其中subversion_service 为自定义的服名;C:\svn-win32-161为svn-win32-161zip的解压目录;D:\svnRoot为版本库文件夹,可根据实际情况修改
之后可以在我的电脑上点右键->管理->服务里找到Subversion Repository将其启动并设置为“自动”
(附:如需删除服务请使用sc delete subversion_service)
6,初始化导入
方法一:命令方式
例如:C:\svn-win32-161\bin>svn import D:\AAA\Workflow file:///D:/svnRoot\workflow -m "initial import"
其中D:\AAA\Workflow为欲导入的文件或文件夹;file:///D:/svnRoot\workflow即为之前设置的版本库位置
方法二:使用TortoiseSVN
如果是文件夹:右键->TortoiseSVN->Import URL of repository输入“svn://localhost/”
然后写上导入信息,以便于以后查看及 *** 作ok
如果是文件:可以在任意位置点右键->TortoiseSVN->Repo-brower,之后的 *** 作相信大家都会
以上 *** 作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP是1339612122,则URL部分输入的内容就是“svn://1339612122/”。
7,基本客户端 *** 作
取出版本库到一个工作拷贝:
来到任意空目录下,运行右键->Checkout,在URL of repository中输入svn://localhost/,这样我们就得到了一份工作拷贝。
在工作拷贝中作出修改并提交:
作出修改,然后右键->Commit,这样我们就把修改提交到了版本库。
查看所作的修改:
文件上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working copy,我们可以比较工作拷贝的文件和版本1的区别。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)