svn-Linux下的搭建和使用

svn 推荐Linux系统下通过 yum install svn 的方法进行安装;

yum install -y subversion

注意:这样安装的前提条件是虚拟机可以连接网络。

验证安装结果:svn --version

[root@localhost 桌面]# svn --version

svn,版本 1.6.11 (r934486)

   编译于 Aug 17 2015,08:37:43



版权所有 (C) 2000-2009 CollabNet。

Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。

此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。



可使用以下的版本库访问模块:



* ra_neon : 通过 WebDAV 协议使用 neon 访问版本库的模块。

  - 处理“http”方案

  - 处理“https”方案

* ra_svn : 使用 svn 网络协议访问版本库的模块。  - 使用 Cyrus SASL 认证

  - 处理“svn”方案

* ra_local : 访问本地磁盘的版本库模块。

  - 处理“file”方案

创建仓库位置。

mkdir -p /var/svn/repository

这个位置将会是一个总的仓库位置,它下属可以创建多个子仓库用于不同项目的版本控制仓库。

[root@localhost repository]# mkdir pro-oa

[root@localhost repository]# mkdir pro-erp

创建仓库:

[root@localhost pro-erp]# svnadmin create /var/svn/repository/pro-erp/

[root@localhost pro-erp]# ll

总用量 24

drwxr-xr-x. 2 root root 4096 7月  14 12:21 conf

drwxr-sr-x. 6 root root 4096 7月  14 12:21 db

-r--r--r--. 1 root root    2 7月  14 12:21 format

drwxr-xr-x. 2 root root 4096 7月  14 12:21 hooks

drwxr-xr-x. 2 root root 4096 7月  14 12:21 locks

-rw-r--r--. 1 root root  229 7月  14 12:21 README.txt

查看SVN服务器状态:

[root@localhost pro-oa]# chkconfig|grep svn

svnserve           0:关闭    1:关闭    2:关闭    3:关闭    4:关闭    5:关闭    6:关闭

[root@localhost pro-oa]# chkconfig svnserve on  ## 用于开启服务器自动启动

[root@localhost pro-oa]# chkconfig|grep svn

svnserve           0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭



[root@localhost pro-oa]# service svnserve status

svnserve 已停



设置配置文件:(通过vim 中的 set nu 显示行数)

32 #args="--daemon --pid-file=${pidfile} $OPTIONS"

33 args="--daemon --root /var/svn/repository --listen-port 2255 --pid-file=${pidfile} $OPTIONS"

--listen-port 2255   这个是用于指定端口号的,如果不写默认端口号为 3690

查看SVNserver 的运行状态:
 

[root@localhost init.d]# service svnserve start

正在启动 svnserve:                                        [确定]

[root@localhost init.d]# service svnserve status

svnserve (pid  27329) 正在运行...

[root@localhost init.d]# netstat -anp|grep :2255

tcp        0      0 0.0.0.0:2255                0.0.0.0:*                   LISTEN      27277/svnserve      

[root@localhost init.d]# ps -ef|grep svnserve|grep -v grep

root      27277      1  0 14:10 ?        00:00:00 /usr/bin/svnserve --daemon --root /var/svn/repository --listen-port 2255 --pid-file=/var/run/svnserve.pid

 

至此服务器已经搭建完成。

 

对项目进行检出、提交、更新

检出:如果是默认端口可以直接通过IP地址检出,如果是自定义的端口号需要通过注明端口号检出

如果检出时候发生了主机拒接连接,需要关闭掉Linux的防火墙:service iptables stop

[root@localhost tom]# svn checkout svn://192.168.80.129:2255/pro-oa ./

取出版本 0。

查看:隐藏文件需要通过 ls -lA 命令进行查看

[root@localhost tom]# ll

总用量 0

[root@localhost tom]# ls -lA

总用量 4

drwxr-xr-x. 6 root root 4096 7月  14 15:56 .svn

.svn 文件是工作副本的一个标识文件,后续的所有操作都需要在这个文件下进行。

 

提交:

[root@localhost tom]# svn add hello.txt

A         hello.txt

[root@localhost tom]# svn commit hello.txt 未添加日志信息

svn: 提交失败(细节如下):

svn: 无法使用外部编辑器获得日志信息;考虑设置环境变量 $SVN_EDITOR,或者使用 --message (-m) 或 --file (-F) 选项

svn: 没有设置 SVN_EDITOR,VISUAL 或 EDITOR 环境变量,运行时的配置参数中也没有 “editor-cmd” 选项

[root@localhost tom]# svn commit -m "hahah" hello.txt   未添加用户认证

svn: 提交失败(细节如下):

svn: 认证失败

添加用户认证:

[root@localhost repository]# cd pro-oa/

[root@localhost pro-oa]# ll

总用量 24

drwxr-xr-x. 2 root root 4096 7月  14 12:20 conf

drwxr-sr-x. 6 root root 4096 7月  14 12:20 db

-r--r--r--. 1 root root    2 7月  14 12:20 format

drwxr-xr-x. 2 root root 4096 7月  14 12:20 hooks

drwxr-xr-x. 2 root root 4096 7月  14 12:20 locks

-rw-r--r--. 1 root root  229 7月  14 12:20 README.txt

[root@localhost pro-oa]# cd conf

[root@localhost conf]# ll

总用量 12

-rw-r--r--. 1 root root 1080 7月  14 12:20 authz

-rw-r--r--. 1 root root  309 7月  14 12:20 passwd

-rw-r--r--. 1 root root 2279 7月  14 12:20 svnserve.conf

[root@localhost conf]# cp svnserve.conf svnserve.conf.bak

[root@localhost conf]# ll

总用量 16

-rw-r--r--. 1 root root 1080 7月  14 12:20 authz

-rw-r--r--. 1 root root  309 7月  14 12:20 passwd

-rw-r--r--. 1 root root 2279 7月  14 12:20 svnserve.conf

-rw-r--r--. 1 root root 2279 7月  14 16:14 svnserve.conf.bak

[root@localhost conf]# vi svnserve.conf



11 ### and "none".  The sample settings below are the defaults.

12 anon-access = write   匿名访问  注意这个设置前面顶格

13 # auth-access = write  授权访问

 

查看版本库:

[root@localhost pro-oa]# svn list svn://192.168.80.129:2255/pro-oa

hello.txt

 

更新:

[root@localhost tom]# svn update

A    cat.txt

更新到版本 2。

[root@localhost tom]# ll

总用量 12

-rw-r--r--. 1 root root   26 7月  14 16:33 cat.txt

-rw-r--r--. 1 root root 7879 7月  14 16:06 hello.txt

 

文件冲突:

如果版本出现冲突,需要先更新,再执行提交。

冲突发生的时候需要去解决问题,可以手动修改,即:自己打开文件进行修改,直至满意。删除多余的文件。

可以半自动:通过svn 提供的编辑功能,不过这个需要对svn的环境变量进行配置。保存时选择已解决冲突。

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值