centos安装svn,centos客户端运用svn
场景:
![](https://upload-images.jianshu.io/upload_images/15569140-8e57647c52e7a240.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
操作如下:
搭建svn服务器:192.168.43.130
1.安装subversion
2.创建本地仓库
mkdir /haha/svn/something
svnadmin create /haha/svn/something
3.会发现something下已经有配置文件,cd /haha/svn/something/conf路径下
![](https://upload-images.jianshu.io/upload_images/15569140-e86c5bf5943ff34e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
都要改其配置文件:
第一个passwd:设置账号和密码(不用useradd创建)
![](https://upload-images.jianshu.io/upload_images/15569140-d0ea518d1b7bb67d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
第二个:authz认证及权限安排
![](https://upload-images.jianshu.io/upload_images/15569140-1e712beb8d674daf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
其中,方括号内部分可有多种写法:
[/]:表示根目录及以下,根目录是svnserve启动时指定的,[/]表示对全部版本库设置权限;
[repos:/]:表示对版本库repos设置权限;
[repos:/sadoc]:表示对版本库repos中的sadoc项目设置权限;
[repos:/sadoc/oldboy]:表示对版本库repos中的sadoc项目的oldboy目录设置权限;
权限主体可以是用户、用户组或*,用户组在前面加@,*表示全部用户;
权限可以是w、r、wr和空,空表示没有任何权限;
authz中每个参数都要顶格写,开头不能有空格;
对于组,要以@开头,而用户不需要;
第三个配置文件(重要):svnserve.conf
### This filecontrols the configuration of the svnserve daemon, if you
### use it toallow access to this repository. (If youonly allow
### access throughhttp: and/or file: URLs, then this file is
### irrelevant.)
### Visithttp://subversion.apache.org/ for more information.
[general]
### Theanon-access and auth-access options control access to the
### repository forunauthenticated (a.k.a. anonymous) users and
### authenticatedusers, respectively.
### Valid valuesare "write", "read", and "none".
### Setting thevalue to "none" prohibits both reading and writing;
###"read" allows read-only access, and "write" allows complete
### read/writeaccess to the repository.
### The samplesettings below are the defaults and specify that anonymous
### users haveread-only access to the repository, while authenticated
### users haveread and write access to the repository.
anon-access = none
auth-access =write
### Thepassword-db option controls the location of the password
### databasefile. Unless you specify a path startingwith a /,
### the file'slocation is relative to the directory containing
### thisconfiguration file.
### If SASL isenabled (see below), this file will NOT be used.
### Uncomment theline below to use the default password file.
password-db =/haha/svn/something/conf/passwd
### The authz-dboption controls the location of the authorization
### rules forpath-based access control. Unless youspecify a path
### starting witha /, the file's location is relative to the the
### directorycontaining this file. If you don'tspecify an
### authz-db, nopath-based access control is done.
### Uncomment theline below to use the default authorization file.
authz-db =/haha/svn/something/conf/authz
### This optionspecifies the authentication realm of the repository.
### If tworepositories have the same authentication realm, they should
### have the samepassword database, and vice versa. Thedefault realm
### isrepository's uuid.
realm = /haha/svn/
### Theforce-username-case option causes svnserve to case-normalize
### usernamesbefore comparing them against the authorization rules in the
### authz-db file configuredabove. Valid values are"upper" (to upper-
### case theusernames), "lower" (to lowercase the usernames), and
###"none" (to compare usernames as-is without case conversion, which
"svnserve.conf"61L, 3121C
![](https://upload-images.jianshu.io/upload_images/15569140-3b1d69e51fa0d17a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
4.svnserve可以启动
![](https://upload-images.jianshu.io/upload_images/15569140-68c41979f5d72627.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
systemctl starts svnserve
systemctl enable svnserve
5.启动svn版本库
svnserve -dr/haha/svn
检查:ps -ef |grep svn或者netstat -ntpl查看3690端口是否开启
+++++++++++++++++++++++++++++++++++
客户端Centos7上:192.168.43.129
1.安装subversion
2.创建一个本地存放svn的地方:mkdir /localdisk/svn
3.把130的something库弄到本地。
命令:svn checkout svn://192.168.43.130/something
![](https://upload-images.jianshu.io/upload_images/15569140-5e71e09f43f0a1b9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
之后再/localdisk/svn/下,会发现有something目录
在这something目录下,创建
![](https://upload-images.jianshu.io/upload_images/15569140-185d10d0da7674db.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
代码提交三步:
1.svn add 文件名 把文件提交到暂存区
2.svn commit -m“备注” 把文件上传到服务器上,并且备注129文件
3.验证服务器130上的svn账号
![](https://upload-images.jianshu.io/upload_images/15569140-48aeefe5421c3e68.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
4.以后服务器上用命令更新svn
svn update
5.在130上会发现/haha/svn/something下面还有个something,文件就在这里面
![](https://upload-images.jianshu.io/upload_images/15569140-400913d2d93c040c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)