天天看点

centos7.x搭建svn server

简介

Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository) 中。这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。

SVN 的一些概念

repository(源代码库):源代码统一存放的地方

Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份

Commit(提交):当你已经修改了代码,你就需要Commit到repository

Update (更新):当你已经Checkout了一份源代码,Update一下你就可以和Repository 上的源代码同步,你手上的代码就会有最新的变更

日常开发过程其实就是这样的(假设你已经Checkout并且已经工作了几天):Update(获得最新的代码) —>作出自己的修改并调试成功 —> Commit(大家就可以看到你的修改了) 。

如果两个程序员同时修改了同一个文件呢, SVN可以合并这两个程序员的改动,实际上SVN管理源代码是以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。

如果是同一行,SVN会提示文件Confict, 冲突,需要手动确认。

subversion目录说明:

db目录:就是所有版本控制的数据存放文件。

hooks目录:放置hook脚本文件的目录。

locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端。

format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。

conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)。

进入conf目录(该svn版本库配置文件)cd conf/

authz 文件是权限控制文件

passwd 是帐号密码文件

svnserve.conf SVN服务配置文件

<code>#添加svn账号,并且禁止登陆</code>

<code>useradd</code> <code>-M -s </code><code>/sbin/nologin</code> <code>svn</code>

<code>#svn开机启动</code>

<code>cat</code> <code>/lib/systemd/system/svnserve</code><code>.service</code>

<code>[Unit]</code>

<code>Description=Subversion protocol daemon</code>

<code>After=syslog.target network.target</code>

<code>[Service]</code>

<code>Type=forking</code>

<code>EnvironmentFile=</code><code>/etc/sysconfig/svnserve</code>

<code>ExecStart=</code><code>/usr/bin/svnserve</code> <code>--daemon --pid-</code><code>file</code><code>=</code><code>/run/svnserve/svnserve</code><code>.pid $OPTIONS</code>

<code>[Install]</code>

<code>WantedBy=multi-user.target</code>

<code>#找到 svn 的 service 环境配置文件 /etc/sysconfig/svnserve 编辑配置文件</code>

<code>#将 OPTIONS="-r /var/svn" 改为 svn 版本库存放的目录</code>

<code>cat</code> <code>/etc/sysconfig/svnserve</code>

<code># OPTIONS is used to pass command-line arguments to svnserve.</code>

<code># </code>

<code># Specify the repository location in -r parameter:</code>

<code>OPTIONS=</code><code>"-r /var/svn/svnrepos"</code>

<code>#设置开机启动</code>

<code>systemctl </code><code>enable</code> <code>svnserve.service </code>

<code>systemctl start svnserve.service</code>

<code>systemctl restart svnserve.service </code>

<code>#ps -aux | grep 'svn'</code>

--------------------------------------------------------

客户端连接

windows tortoisesvn 下载

<a href="https://tortoisesvn.net/downloads.html" target="_blank">https://tortoisesvn.net/downloads.html</a>

<a href="https://s3.51cto.com/wyfs02/M01/96/53/wKiom1kf3NbQGOTnAAA0l1V7HQw280.png" target="_blank"></a>

参考:https://yq.aliyun.com/articles/83737

]

本文转自 yanconggod 51CTO博客,原文链接:http://blog.51cto.com/yanconggod/1927768

继续阅读