搭建svn服务器&服务器客户端使用笔记

参考借鉴文章:http://www.cnblogs.com/vijayfly/p/5711962.html

之前尝试着用git管理公司代码,但被一个问题困惑了很久无法解决,那就是git该如何只pull自己想要本地更新的代码?git的fetch命令会把远程库下过来作为本地的远程分支,然后自己来合并,而pull则是fetch+merge。无论fetch还是pull我都没找到合适的解决这一问题的方法。

svn的话会很容易,有了搭建git服务器的经验,svn服务器也很容易。

我的服务器是腾讯云主机,linux centos。

在centos安装svn服务器需要命令yum -y install subversion

之后配置版本库

mkdir -p /opt/svn/repos/svn1                  
svnadmin create /opt/svn/repos/svn1     

创建版本库之后,在版本库目录下的conf目录就会生成三个文件passwd、authz、svnserve.conf

之后再passwd文件配置用户名密码

[users]
# harry = harryssecret
# sally = sallyssecret
#
user1 = 123
user2 = 123

authz文件配置权限

[svn1:/]
user1 = rw
user2 = rw

#svn1是具体版本库的标签

svnserve.conf配置基础svn设置,将一些注释的#符号取了

[general]
anon-access = none                    #非授权用户无法访问
auth-access = write                   #授权用户有写权限
password-db = passwd                  #密码数据所在目录
authz-db = authz  

启动svn:

svnserve -d -r /opt/svn/repos/    #注意目录,不包含svn1

ps aux | grep svnserve            #查看服务是否启动

关闭svn命令:

killall svnserve  

补充一个报错,出现类似报错是配置文件问题,配置svnserve.conf去掉#注释符时前面不能留空格,svn这方面格式似乎要求比较严格:

客户端:

本地安装客户端版本svn,然后checkout就可以了。地址:svn://192.168.1.1/svn1

以后有什么要补充记录的再更新,例如一些svn服务器命令。

遇见一个问题,本地svn没有显示绿色的对号,修改了文件也没有显示红色的对号。

解决方法:在文件夹右键选择TortoiseSVN然后选择settings,选择Icon Overlays,status cache选择shell

之后找到之前安装包,运行,选择repair(修复)项,之后进行修复,重启应用,重启电脑,就ok了。

2017-05-08

最后定位是svn服务器端服务没启动,因为之前服务器重启过。

 


2018-05-02    更新  Windows环境下svn server配置情况

1首先安装Visual Svn Server软件,基本一路选默认就可以

2然后再图形界面下添加仓库,右键选择仓库,选择属性,可以添加用户

之后客户端checkout,一开始遇到问题

这个问题是路径写错了

注意路径格式是   svn服务器IP:端口号/svn/库名称

这里有两个容易落下,一是端口号,二是路径中要有‘svn’

如果没有选择默认端口号,例如我选了8443,一定要路径里写端口号

之后遇到问题,SVN Access  …… forbidden 

说明网络连接已经连上了,但在用户验证方面遇到问题

网上说需要客户端清除用户名密码缓存,再重新填写用户名密码,试过,问题依旧存在

后来发现是因为服务器端创建仓库权限设置有些问题

创建库的时候有上图三个选项

我之前选了第二个选项,然后再添加用户,客户端使用服务器配置的用户名、密码 会报上文提到那个错误

选择第三个选项,Customize permissions,再添加用户,客户端再使用配置的用户名、密码,checkout就不会出现问题

原文地址:https://www.cnblogs.com/rixiang/p/6687999.html