一、安装svn

安装svn服务器:

yum install subversion

 (2)查看版本(随自己意愿):

svnserve --version

 

二、创建svn仓库并配置

创建svn仓库

  在/home下创建svn目录并用svn管理员创建库:

[root@localhost /]# cd /home    
[root@localhost home]# mkdir svn
[root@localhost home]# svnadmin create /home/svn

   查看svn仓库文件(一般是这几个文件):

[root@localhost home]# ls svn
conf  db  format  hooks  locks  README.txt

  subversion目录说明

  conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)。

  db目录:就是所有版本控制的数据存放文件。

  format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。

  hooks目录:放置hook脚本文件的目录。

  locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端。

conf 文件夹

[root@localhost home]# cd svn/conf
[root@localhost conf]# ls
authz  passwd  svnserve.conf

  authz文件是权限控制文件

  passwd是帐号密码文件

  svnserve.conf SVN服务配置文件

passwd

[root@localhost conf]# vi passwd 
[users] 
root1=root1
root2=root2

  具体页面如下:

新创建的项目怎么上传到svn仓库 怎么将项目上传到svn_新创建的项目怎么上传到svn仓库

authz

[root@localhost conf]# vi authz 
[/]
root1=rw
root2=rw
*=

  说明:

w

  rw为可读可写

*=

(一定要记得  在[/]下面设置每一个用户的权限, 在[groups]下设置用户组的权限, 有的配置文件下没有[/], 设置单个用户权限的时候一定要添加上,如果不添加上,就会一直认证失败,我困扰了一下午

 (2-2--)设置用户分组(相当于角色,这里可以不设置)

[root@localhost conf]# vi authz
[groups]
group1 = root1
group2 = root2
[/]
@group1 = rw
@group2 = r
* =

svnserve.conf 

[root@localhost conf]# vi svnserve.conf 
打开下面的5个注释
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/svn # 认证空间名,版本库所在目录

删除原有的#,并且前面不要有空格):

新创建的项目怎么上传到svn仓库 怎么将项目上传到svn_IP_02

说明:anon-access = none 是为了在eclipse中可以通过svn查看资源历史记录

 

三、启动SVN

[root@localhost conf]# svnserve -d -r /home/svn

ps -ef |grep svn

  

新创建的项目怎么上传到svn仓库 怎么将项目上传到svn_IP_03

kill -9 端口号

  

新创建的项目怎么上传到svn仓库 怎么将项目上传到svn_svn_04

 

四、客户端测试:

 TortoiseSVN,输入地址svn://IP :

新创建的项目怎么上传到svn仓库 怎么将项目上传到svn_svn_05

 弹出输入用户名和密码界面,把原来配置的root1或者root2填入:

新创建的项目怎么上传到svn仓库 怎么将项目上传到svn_新创建的项目怎么上传到svn仓库_06

 然后OK就可以了。

 

测试可能出现的问题

  svn: E000113: Unable to connect to a repository at URL 'svn://IP/repos'无法连接主机“IP”: 由于连接方在一段时间后没有正确答复

  原因:CentOS 7 默认不对外开放3690端口

  解决方案:

  centos7 设置防火墙:

  1.开放3690端口:

firewall-cmd –permanent –zone=public –add-port=3690/tcp

  2.重启防火墙:

firewall-cmd –reload

  或者直接在腾讯云安全组中添加规则:开放3690端口

 

  首次上传项目:

  1.在你想放这个svn项目的目录下右击后,点击SVN Checkout,将你在服务器上面创建的目录checkout下来,如果第一次登录需要填写用户名密码登录

  2.然后将你在本地项目下的文件或目录复制到此目录中,然后选中要提交的文件或目录,右击,选择“Add”,会在文件或目录上面显示了“+”号

  3.然后右击,选择  “SVN  Commit”,到此完成。

  4.将需要上传svn的文件夹依次添加add再commit就可以了

 

 

 

——与君歌一曲