CentOS 7.2 安装SubversionSVN

subversion 简介

  • Subversion是一个自由开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。
    Subversion将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况,这样就可以借此将数据恢复到以前的版本,并可以查看数据的更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。
  • subversion 官网:http://subversion.apache.org/

subversion 安装

  • 安装subversion
[root@linuxprobe~]# yum -y install subversion 
  • 创建源仓库,以“/var/svn/repos/project”为例
[root@linuxprobe ~]# mkdir -p /var/svn/repos/project
[root@linuxprobe ~]# svnadmin create /var/svn/repos/project   # 创建源仓库
[root@linuxprobe ~]# svn mkdir file:///var/svn/repos/project/trunk -m "create" 
Committed revision 1.
[root@linuxprobe ~]# svn mkdir file:///var/svn/repos/project/branches -m "create" # 创建分支
Committed revision 2.
[root@linuxprobe ~]# svn mkdir file:///var/svn/repos/project/tags -m "create" # 创建标签 
Committed revision 3.
  • 导入已存在的代码文件到SVN仓库,导入/home/project目录的文件
[root@linuxprobe ~]# ll /home/project/
total 0
-rw-r--r-- 1 root root 0 Nov  1 11:57 index.go
-rw-r--r-- 1 root root 0 Nov  1 11:57 index.html
-rw-r--r-- 1 root root 0 Nov  1 11:57 index.php
-rw-r--r-- 1 root root 0 Nov  1 11:58 index.py
-rw-r--r-- 1 root root 0 Nov  1 11:58 info.php
[root@linuxprobe ~]# svn import /home/project file:///var/svn/repos/project/trunk -m "initial import"
Adding         /home/project/index.html
Adding         /home/project/index.go
Adding         /home/project/index.php
Adding         /home/project/index.py
Adding         /home/project/info.php
Committed revision 4.
# 确认
[root@linuxprobe ~]# svn list file:///var/svn/repos/project/trunk
index.go
index.html
index.php
index.py
info.php
  • 启动svnserver,svnserve监听TCP 3690,防火墙开启端口通信
# svn server 端
[root@linuxprobe ~]# systemctl start svnserve
# svn client 端
[root@vdevops ~]# yum -y install svn
[root@vdevops ~]# svn list svn://linuxprobe.org/repos/project
branches/
tags/
trunk/
# 导出代码到本地
[root@vdevops ~]# svn checkout svn://linuxprobe.org/repos/project
A    project/tags
A    project/trunk
A    project/trunk/info.php
A    project/trunk/index.html
A    project/trunk/index.go
A    project/trunk/index.php
A    project/trunk/index.py
A    project/branches
Checked out revision 4.
  • 如果没有启动svnserve,通过端口无法连接到svn server,可以通过ssh的方式连接到svn server
# svn server 端
[root@linuxprobe ~]# systemctl stop svnserve
# svn client端
[root@vdevops ~]# svn list svn+ssh://root@linuxprobe.org/var/svn/repos/project
root@linuxprobe.org's password: branches/ tags/ trunk/

subversion 访问控制

  • 设置访问控制“/var/svn/repos/project”
[root@linuxprobe ~]# vi /var/svn/repos/project/conf/svnserve.conf
# line 9: add (prohibit anonymous access)
[general]
anon-access = none
# line 28: uncomment
password-db = passwd
# line 35: uncomment
authz-db = authz
[root@linuxprobe ~]# vi /var/svn/repos/project/conf/passwd
# define username and password for this repository
[users]
shaon= password
wang = password
devops = password
[root@linuxprobe ~]# vi /var/svn/repos/project/conf/authz
# define groups and users
[groups]
developer = devops,wang
# allow read/write on document root for developer group
[/]
@developer = rw
# allow read on trunk folder for fedora user
[/trunk]
shaon = r
  • svn client 客户端测试
[root@vdevops trunk]# svn --username shaon list svn://linuxprobe.org/repos/project/trunk
Authentication realm: <svn://linuxprobe.org:3690> LinuxProbe Repository
Password for 'shaon': 

-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

   <svn://linuxprobe.org:3690> LinuxProbe Repository # 仓库名称

can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted,if
possible.  See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes #记住密码
index.go
index.html
index.php
index.py
info.php

Subversion : Windows 客户端

安装TortoiseSVN后,移动到一个工作文件夹,点击右键,选择“SVN Checkout”,指定存储库的URL,然后单击“确定”

如果在存储库上设置访问控制,则需要进行身份验证,如下所示,继续使用有效的用户和密码。

完成结帐后,单击确定按钮

只是完成从存储库检出。它可以从这个应用程序操作存储库

Subversion HTTP Access

[root@linuxprobe~]# yum -y install mod_dav_svn 
  • 为HTTP访问配置Subversion,例如,为存储库“/var/svn/repos/project”
[root@linuxprobe run]# vi /etc/httpd/conf.d/subversion.conf
# create new
<Location /project>
    DAV svn
    AuthType Basic
    AuthName "DAV SVN"
    AuthUserFile /var/svn/.svnpasswd
    Require valid-user
    SVNPath /var/svn/repos/project
</Location> 
[root@linuxprobe run]# htpasswd -c /var/svn/.svnpasswd wang
New password: 
Re-type new password: 
Adding password for user wang
[root@linuxprobe run]# chown -R apache. /var/svn/repos 
[root@linuxprobe run]# systemctl restart httpd 
[root@linuxprobe run]# systemctl status httpd
  • 配置访问控制
[root@linuxprobe ~]# vi /var/svn/repos/project/conf/authzsvn.conf 
# define group
[groups]
developer = wang,devops
operator = shaon
# everyone can Read access
[/]
* = r
# only developer group can Read/Write under the trunk
[project:/trunk]
@developer = rw
# only operator can Read/Write under the branches

[project:/branches]
@operator = rw
# only operator can Read/Write under the tags

[project:/tags]
@operator = rw
[root@linuxprobe~]# vi /etc/httpd/conf.d/subversion.conf
<Location /project>
    DAV svn
    AuthType Basic
    AuthName "DAV SVN"
    AuthUserFile /var/svn/.svnpasswd
    Require valid-user
    SVNPath /var/svn/repos/project
    AuthzSVNAccessFile /var/svn/repos/project/conf/authzsvn.conf
</Location> 
[root@linuxprobe ~]# systemctl restart httpd 
  • 从客户端访问如下
[root@vdevops ~]# svn --username wang list http://linuxprobe.org/project
Authentication realm: <http://linuxprobe.org:80> DAV SVN
Password for 'wang': 

-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

   <http://linuxprobe.org:80> DAV SVN

can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted,if
possible.  See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? no
branches/
tags/
trunk/
  • 可以使用Web浏览读取访问

  • 可以使用TortoiseSVN客户端指定我们设置的URL,如下所示

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


linux下开机自启: 在/etc/init.d目录下新建文件elasticsearch 并敲入shell脚本: 注意, 前两行必须填写,且要注释掉。 第一行为shell前行代码,目的告诉系统使用shell。 第二行分别代表运行级别、启动优先权、关闭优先权,且后面添加开机服务会用到。 shell脚本
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod +x /etc/rc.d/rc.local 2、赋予脚本可执行权限假设/usr/local/script/autostart.sh是你的脚本路径,给予执行权限 chmod +x /usr
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用ls -ll,会显示成字节大小,而ls- lh会以KB、MB等为单位进行显示,这样比较直观一些。 通过命令du -h –max-depth=1 *,可以查看当前目录下各文件、文件夹的大小,这个比较实用。 查询当前目录总大小可以使用d
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一但shell关闭网站也就关闭了,所以要配置守护进程, 用的是Supervisor,本文主要记录配置的过程和过程遇到的问题 安装Supervisor&#160;1 yum install python-setuptools
设置时区(CentOS 7) 先执行命令timedatectl status|grep &#39;Time zone&#39;查看当前时区,如果不是时区(Asia/Shanghai),则需要先设置为中国时区,否则时区不同会存在时差。 #已经是Asia/Shanghai,则无需设置 [root@xia
vim&#160;/etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO=&quot;static&quot; ONBOOT=yes IPADDR=192.168.8.106 NETMASK=255.255.252.0 GATEWAY=192.168.
一、安装gcc依赖 由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装 [root@localhost local]# yum install -y gcc 二、下载并解压安装包 [root@localhost local
第一步 On CentOS/RHEL 6.*: $ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm On CentOS/RHEL 7: $
/// &lt;summary&gt; /// 取小写文件名后缀 /// &lt;/summary&gt; /// &lt;param name=&quot;name&quot;&gt;文件名&lt;/param&gt; /// &lt;returns&gt;返回小写后缀,不带“.”&lt;/ret
which nohup .bash_profile中并source加载 如果没有就安装吧 yum provides */nohup nohup npm run start &amp; nohup ./kibana &amp;
1.1 MySQL安装 1.1.1 下载wget命令 yum -y install wget 1.1.2 在线下载mysql安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 1.1.3 安装My
重启 reboot shutdown -r now init 6 关闭 init 0 shutdown -h now shutdown -h 20:25 #8点25关机查看内存 free CPU利用率 top 日期 date 设置时间 date 033017002015 #月日时间年 日历 cal
1、firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld 开机启用 :
1 下载并安装MySQL官方的&#160;Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 使用上面的命令就直接下载了安装用的Yum Repository,大概
CentOS6.x CentOS6中转用Upstrat代替以前的init.d/rcX.d的线性启动方式。 一、相关命令 通过initctl help可以查看相关命令 [root@localhost ~]# initctl help Job commands: start Start job. sto
1、使用命令:df -lk 找到已满磁盘 2、使用命令:du --max-depth=1 -h 查找大文件,删除
ifconfig:查看网卡信息 网卡配置文件位置: /etc/sysconfig/network-scripts/文件夹 nmtui:配置网卡 netstat -tlunp:查看端口信息 端口信息存储位置: /etc/services文件 route:查看路由信息 wget:下载网路文件,例如 wg
ps -ef:查看所有进程,&#160;ps -ef |grap firewalld 查看与firewalld相关的进程 which :查看进程:which firewalld kill 进程id:杀掉进程 kill 640,强制杀:kill -9 640 man:查看帮助,例如 man ps 查看
useradd:添加用户 useradd abc,默认添加一个abc组 vipw:查看系统中用户 groupadd:添加组groupadd ccna vigr:查看系统中的组 gpasswd:将用户abc添加到ccna组 gpasswd -a abc ccna groups abc:查看用户abc属