CentOS 7.1 下SVN安装与配置

本次实践使用的服务器 CentOS / 7.1 x86_64 (64bit)
svnserve, version 1.7.14

安装svn

yum install subversion
查看版本
svnserve –version

返回结果

[root@chinamobile2016 ~]# svnserve –version
svnserve, version 1.7.14
(r1542130) compiled Nov 20 2015, 19:25:09

Copyright (C) 2013 The Apache Software Foundation. This software
consists of contributions made by many people; see the NOTICE file for
more information. Subversion is open source software, see

The following repository back-end (FS) modules are available:

fs_base : Module for working with a Berkeley DB repository.

fs_fs : Module for working with a plain file (FSFS) repository.

Cyrus SASL authentication is available.

创建SVN版本库

cd /storage
mkdir svn
cd svn
mkdir project
svnadmin create /storage/svn/project/
ls project/
发现已经有生成的版本库文件

配置svn信息

conf/authz

cd conf
vi authz
在[groups]下添加用户组
admin=admin(用户组名=用户名)
在[repository:/baz/fuz]下添加用户组权限
[project:/]
@admin=rw

conf/passwd

在[users]下添加
admin=test(用户名=密码)

conf/svnserve.conf

取消以下项目的注释
anon-access=none
auth-access=write
password-db=passwd
authz-db=authz
realm=project

修改/root/.subversion/server

取消store-plaintext-passwords=yes的注释并修改

确认安装openssl与openssl-devel

yum install openssl openssl-devel

启用,连接与关闭

启用

svnserve -d -r /storage/svn/

在project这个repo里导入文件

svn import xxxx svn://xxx.xxx.xxx.xxx/project/ -m “admin”
填入root密码
填入刚才创建的repo的账户密码
成功

关闭

ps -aux|grep svn
kill pid

一些常用操作

注意:大部分操作需要在svn版本控制的文件夹下进行

checkout(别名:co)命令

命令说明:剪出版本库中的可用的工作目录;
使用方法:checkout URL[@REV]… [PATH];
使用实例:[root@samba /]# svn co svn://192.168.31.131/svntest/trunk
这个过程是把代码从服务器中下载下来,保持版本一致。

add命令

命令说明:Put files and directories under version control, scheduling them for addition to repository. They will be added in next commit.
使用方法:add PATH…;
使用实例:[root@xxx]# svn add *.Java(可以使用通配符)

这个过程是把新建的文件和文件夹添加进版本控制,在下一次commit时,会导入到版本库里进行同步。

commit(别名:ci)命令

命令说明:将你的变更从你的SVN工作目录提交到版本库;
使用方法:commit PATH…;
使用实例:[root@xxx]# svn ci -m “commit dir and file” test(可以使用通配符,可同时提交目录和文件)

lock命令

命令说明:将锁住SVN工作目录或者版本库的URL,以使没有人可以提交目录或者文件的变更信息;
使用方法:lock TARGET…;
使用实例:[root@xxx]# svn lock -m “lock dir and file”
Test.java(可使用通配符,比如:T*.*)

unlock命令

命令说明:解除SVN工作目录或者版本库URL的锁; 使用方法:unlock TARGET…;
使用实例:[root@xxx]# svn
unlock -m “lock dir and file” Test.java(可使用通配符,比如:T*.*)

注:在本地加锁或者解锁,记得提交到服务器。

delete(别名:del, remove, rm)命令

命令说明:从SVN版本控制中删除文件或者目录;
使用方法:delete PATH…;
使用实例:[root@samba test]# svn delete Test.java(可使用通配符,比如:T*.*) –删除文件
[root@samba test]# svn delete test(可使用通配符,比如:t*) –删除目录

注:执行上面的命令,只能删除SVN版本控制下的文件,不能删除目录,故删除目录时,应该采用Linux(Unix)系统的rm命令,同时删除后记得提交。

move(别名:mv, rename, ren)命令

命令说明:移动或者重命名SVN工作目录或者版本库;
使用方法:move SRC… DST
使用实例:[root@samba test]# svn move Test.Java Test2.java [root@sambatest]# svn move -m “ss” svn://192.168.31.131/svntest/trunk/src/com/ant/test/Test2.java svn://192.168.31.131/svntest/trunk/src/com/ant/test/Test3.java

注:执行上面的第一种实例命令记得提交。第二种命令是直接修改服务器的文件名,不用提交。

log命令

命令说明:显示版本库文件的日志信息
使用方法:log [PATH] log URL[@REV] [PATH…]
使用实例:[root@samba test]# svn log T*(一般不要使用通配符,除非该文件目录下只有一个文件)
[root@samba test]# svn log svn://192.168.31.131/svntest/trunk/src/com/ant/test/Test3.java

info命令

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/fdbcaf4de7bb5d0228fe4b1d50f7a65e.html