Linux中svn服务器安装与使用

Linux中svn服务器安装与使用,第1张

直接开放svnserve的端口就可以了,默认端口是3690

如果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的区别。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10259588.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存