摘自:https://www.cnblogs.com/mymelon/p/5483215.html

鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人

本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结

/******开始*********/

系统环境:Centos 7.0

第一步:通过yum命令安装svnserve,命令如下:

>yum -y install subversion

此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行

若需查看svn安装位置,可以用以下命令:

>rpm -ql subversion

第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)

选择在var路径下创建版本库,当前处于根目录下,一次性创建如下:

>mkdir /var/svn/svnrepos

第三步:创建svn版本库

在第二步建立的路径基础上,创建版本库,命令如下:

>svnadmin create /var/svn/svnrepos/xxxx   (xxxx为你预期的版本库名称,可自定义)

创建成功后,进入xxx目录下

>cd /var/svn/svnrepos/xxxx

进入目录,可以看见如下文件信息:

第四步:配置修改

进入已经创建好的版本库目录下,也就是前文说创建的xxxx

进入conf

>cd /var/svn/svnrepos/xxxx/conf

conf目录下,一共存放三份重要的配置文件,如下:

authz:负责账号权限的管理,控制账号是否读写权限

passwd:负责账号和密码的用户名单管理

svnserve.conf:svn服务器配置文件

细节修改如下:(希望大家严格按照以下信息,不用参考网络上其他资料)

修改authz文件信息,如下:

>vi authz

在文件内容的末尾,添加如下:

只需在末尾添加,无需在文件其他部分修改和添加任何东西(请忽略groups被我马赛克的地方,那其实也是条无用的记录,我忘记删掉而已),末尾内容如下:

[\]

账号1 = rw

账号2 = rw

。。。。。

rw表示赋予此账号可读写的权限,请注意[]中的斜杠,一定是反斜杠,有些教程说,需添加版本库名称在括号内,我直接建议就这写,这样写允许访问的权限更大,避免一些错误

修改passwd文件信息

>vi passwd

账号密码文件无需做修改,也是直接将账号和密码信息追加到文件中即可,注意格式为:

账号 = 密码

例如:admin = 123456

修改svnserve.conf(重要)

vi svnserve.conf

原始文件内容,都被注释掉的,我们只需要去掉4条指定内容前注释即可,如下:

大多数网络资料,都会让大家将authz-db = authz这条给去掉注释,经过我本人多次被坑经验,此条去掉后,虽然svn服务器可以连接,但一直会提示“认证失败”,注释掉即可正常

还有多数资料会让大家在realm = My First Repository处填写服务器ip,经过测试,填写后并无什么用处,所以大家去掉注释即可,无需做任何修改

到此,配置已经全部完成,账号信息已经添加成功

第五步:防火墙开启

多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题,大家按照如下3条命令逐一执行即可

>/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT

>/etc/init.d/iptables save

>service iptables restart

执行结果如下图:

六:启动svn服务器

在跟目录下,执行如下命令:

>svnserve -d -r /var/svn/svnrepos

启动成功后,可用ps -aux查看服务启动是否成功

七:客户端访问svn服务器

在windows客户端,输入地址:svn://ip地址:3690/xxxx   (iP地址为你linux的ip,xxxx为前文创建的版本库名称,3690为svn默认端口)

弹出输入用户名和密码,输入即可访问

到此,Linux下svn服务器搭建就总结完毕,感谢大家的阅读

八:svn版本回退

  1. 不丢失新建的文件,获得最新的SVN版本控制。TortoiseSVN-ShowLog-选中你要回滚的版本-右键-Export,之后将修改的文件覆盖到你的最新版本,commit即可。

  2. 编辑了代码,但是想放弃修改,可以直接TortoiseSVN-revert就可以更新到工程的最新版本。

  3. 回到某一个版本,可以直接选择TortoiseSVN-update to reversion,这样可以把版本回退到选中的版本,SVN并没有显示出有冲突,并且新建立的文件还在,但是这种不能直接在回退的版本上编辑,因为SVN的控制版本还是在最新的主干上,需要update并解决冲突。

  4. 从日志回滚到需要的版本,show log-选中需要的版本-右键-update item to reversion.SVN并没有冲突,并且新建的文件还在,但是也不能在回退的版本上编辑,需要update解决冲突。

  5. 可以直接show log-选中要清除的版本-右键-revert changes from this reversion,这样可以直接解决冲突并提交。但是新建的文件都没有了,选中的这个版本就没有了。

  6. show log-选中需要回退到的版本-右键-revert to this reversion,则选中的版本之后的版本就没有了,作废了。

 

Linux centos7 下 svn 服务器搭建的更多相关文章

  1. centos7下SVN服务器搭建

    1,安装 yum install subversion 2,输入rpm -ql subversion查看安装位置 3,创建svn版本库目录 mkdir -p /var/svn/svnrepos 4,创 ...

  2. Linux 环境下svn 服务器搭建

    可使用自己下载的svn安装包,但要安装相关依赖包,yum 安装源提供的稳定版本svn 1.yum -y install subversion 2.创建本地库 mkdir -p /var/svn svn ...

  3. Linux下SVN服务器搭建配置

    Linux下SVN服务器搭建配置 1.SVN服务安装 yum install subversion 2.创建SVN代码仓库 mkdir /data/svn svnadmin create /data/ ...

  4. Windows下SVN服务器搭建方法整理(apache)

    http://skydream.iteye.com/blog/437959 http://www.cnblogs.com/liuke209/archive/2009/09/23/1572858.htm ...

  5. linux系统下svn服务器操作命令

    linux系统下svn服务器操作命令 .输出指定文件或URL的内容.  svncat 目标[@版本]…如果指定了版本,将从指定的版本开始查找. svncat -r PREV filename > ...

  6. linux(centos7)下SVN服务器搭建

    https://www.cnblogs.com/fuyuanming/p/6123395.html linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINU ...

  7. linux(centos7)下SVN服务器搭建手札

    linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下linux(centos)搭建SVN服务器的思路! ...

  8. centos7下SVN服务器如何搭建

    Centos7 搭建svn服务器 linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下linux(ce ...

  9. Linux CentOS7下svn+tomcat9.0+maven3.3+jenkins实现web项目自动构建与远程发布

    CentOS7下svn+tomcat9.0+maven3.3+jenkins实现web项目自动构建与远程发布 by:授客 QQ:1033553122 目录 一.    实践环境. 1 二.    安装 ...

随机推荐

  1. 007-atomic包的原理及分析

    一.Atomic简介 Atomic包是java.util.concurrent下的另一个专门为线程安全设计的Java包,包含多个原子操作类.这个包里面提供了一组原子变量类.其基本的特性就是在多线程环境 ...

  2. 进程池线程池 协程 gvent 单线程实现并发套接字

    1.基于多线程实现套接字服务端支持并发 服务端 from socket import * from threading import Thread def comunicate(conn): whil ...

  3. Python中常用的模块

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  4. js中实现IE的打印预览

    HTML中添加:<object id="WebBrowser" classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 widt ...

  5. JFrame绝对布局

    通过代码:setLayout(null);设置容器布局为绝对布局. 添加控件要注意:一定要设置控件具体的位置.可通过代码setLocation(20, 20)或者setBounds(0, 0, 30, ...

  6. 《Java程序设计》第一周学习记录(2)

    目录 使用JDB调试程序 系统文件被覆盖的挽救 参考资料 使用JDB调试程序 JDB是JDK自带的基于命令行的调试程序.我们先来man一下吧(说到这里,我之前在翻娄老师的博客的时候看到一篇文章:做中学 ...

  7. opencv之模糊处理

    初学OpenCV的开发者很容易被OpenCV中各种滤波方法所困扰,不知道到底该用哪里一个来做滤波.表面原因看起来是因为OpenCV中各种滤波方式实在是太多太杂, 其背后原因是对各种滤波方法的应用场景认 ...

  8. Java第一次考试作业

    这次考试感觉自己充分的意识到自己的不足,对于Java没有系统的理解,敲程方面也有很大问题,本次程序题目为ATM机的账户记录Account有账户的唯一性标识,用户的姓名,操作日期(Date),操作类型, ...

  9. 用C#创建一个窗体,在构造函数里面写代码和在from_load事件里面写代码有什么不同?

    没太大区别.一区别就是代码加载时间先后的问题.构造函数先加载,load事件中后加载.

  10. 解决ConfigParser配置option的大小写问题

    通常情况下,我们会这样解析配置文件: confiig = ConfigParser.ConfigParser() config.read('xxx.ini') #这个read表示对某个文件用读打开, ...