svn linux 安装笔记

来源:互联网 发布:午夜凶铃删减画面知乎 编辑:程序博客网 时间:2024/06/18 05:29

一:svn 安装

在线安装

yum install -y subversion

验证安装版本:

svnserve --version

 

二:创建SVN 版本库

1:首先建一个目录,里面存放各个项目版本库 mkdir /home/subversion

2:创建版本库 svnadmin create /home/subversion/project1 

      执行完后project1 会产生一些文件夹和文件

3:修改project1/conf目录下的配置文件 

     3.1 修改svnserve.conf

           

        去掉下列注释,注意前面不要有空格

          password-db = passwd    # 启用用户验证

          anon-access = none  # 使非授权用户无法访问
          auth-access = write  # 使授权用户有写权限

 

      3.2修改passwd

            添加用户,=号左边是用户名,右边是密码,等号左右要有空格隔开

            [users]
            lijia = 123456
            wangsong = 123456

       3.3修改authz

             可配置用户权限,我没有修改,具体操作网上一大堆   

如果要创建多个项目

从第2步开始再做一次项目名改为project2

现在的svn目录结构是这样

/home/subversion/project1

/home/subversion/project2 

 

创建完之后重启一下svn,重启方法:

1:关闭svn

采取linux杀死进程的方式处理
ps -ef|grep svnserve
root      4967     1  0 Aug23 ?        00:00:00 svnserve -d -r subversion/ 
这里  kill -9 4967杀死进程, 此4967为进程号

2:启动svn

如果只启动1个项目的svn,则命令是这样

sudo svnserve -d -r  /home/subversion/project1 或者 sudo svnserve -d -r  /home/subversion/project2

authz文件中groups 如果设置的话,需要这样设置

[groups]
admin=user1
dev=user2
[/]
@admin=rw
@doc=r

而配置成以下的内容则是错误的,错误提示是说找不到版本库

[groups]
admin=user1
dev=user2
[project1:/]
@admin=rw
@doc=r

因为[project1:/]表示库project1的根目录,而按上面的启动参数,是没有库的概念的。
使用类似这样的URL:svn://192.168.0.1/ 即可访问project1

 

如果要启动多个项目svn,则命令是这样,-r 指定到版本库的上级目录(称之为多库svnserve方式)

sudo svnserve -d -r  /home/subversion

这种情况,一个svnserve可以为多个版本库工作,
这时如果想限制指定库的指定目录,就应该指定具体的库,像这样

[groups]
admin=user1
dev=user2
[project1:/]
@admin=rw
@doc=r

 

注意访问方式:

如果此时你还用[/],则表示所有库的根目录,同理,[/src]表示所有库的根目录下的src目录
使用类似这样的URL:svn://192.168.0.1/project1 即可访问project1
这样的URL:svn://192.168.0.1/project2 即可访问project2

注意防火墙需要开放3690端口

 

三:windows版本库 向 linux 迁移

1:在windows下将项目打包 输入cmd dos窗口下输入

svnadmin dump D:\Repositories\project1 > D:\project1.dump

命令会导出每个版本的详细信息,保证了之前的历史信息不会丢失。

2:通过ftp工具将project1.dump文件传输到linux服务器上,可打包压缩后传输。

3:linux下要恢复project1项目,首先需要创建一个空的版本库 project1,创建方式参考上面。

4:  [root@elink-linux subversion]# svnadmin load ./project1 < ./project1.dump

5:耐心等待项目恢复。

 

0 0
原创粉丝点击