Centos6.8下搭建SVN服务器 一套配置文件 管理多个svn 库

1.Centos6.8下搭建SVN服务器

Subversion是一个自由,开源的版本控制系统。Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,
不同的是,它可以记录每一次文件和目录的修改情况。这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节。
Subversion是Apache基金会下的一个项目,官网 https://subversion.apache.org/ 。

2.安装

yum -y install subversion

3.创建SVN版本库

mkdir -p /svn                  ##创建目录
svnadmin create /svn/ice               ##创建ice版本库
svnadmin create /svn/ios          ##创建ios版本库
rm -rf ios/  用来删除删除版本库

4、如果单个svn 库或者各自库配置自己的文件 跳过这一步 如果实现一套配置文件管理多个svn库请继续往下看

1>将其中ice 内部的conf 文件夹 移出来 然后将ios 内部的conf文件夹删除(因为2个库共用一套配置所以 只保留一个就够了) 效果图如下

5.配置文件

conf文件夹里边有三个文件

1>passwd 里边存的是账号密码

admin是账号 admin123是密码(有多少账号添加多少)

2>authz 内部存的是 账号权限

gg是分组用来处理多账户权限管理

[ice:/] 表示 ice的那个svn 库

@gg = rw 表示gg 分组的所有用户都有读写权限

admin3 = rw 表示admin3 有读写权限

* = 表示 其他所有匿名账户不允许访问

* = r 表示允许匿名账户读

* = rw 表示允许匿名账户读写

同理不同的库svn 库可以在在这里给不同用户分配权限

3>svnserve.conf是配置文件

auth-access 是给svn 库开启读写

realm svn库的根目录

以下 如果不是多个库访问一套配置文件 则默认路径即可不用修改

password -db 是用户名密码文件的路径 因为要多个库 访问同一个配置所以这里需要改为文件绝对路径,

authz -db 账户权限文件 同需要绝对路径

5、重启svn服务

1> killall svnserve关闭服务

2>svnserve -d -r /svn 启动服务 (正常启动服务)

svnserve -d -r /svn --config-file=/svn/conf/svnserve.conf (多个库访问一套配置文件 需要制定 配置文件的位置 所以使用这个代码启动服务)

3>ps aux | grep svnserve #查看服务是否启动

6、确认有没有开启3690 端口

netstat -an | grep 3306 查询端口有没有打开 如果打开显示

否则

/etc/sysconfig/iptables 回车

要打开那个端口就添加那个端口(以下是80 端口和3690 端口)

-A INPUT -m state -–state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -m state –-state NEW -m tcp -p tcp –dport 3690 -j ACCEPT

然后 “:wq” 退出

然后保存:etc/rc.d/init.d/iptables save

在看看是否已经有了3690端口的开放权限:netstat -an | grep 3690

7、连接svn

8、设置svn 开机自启动

1.>创建执行脚本svn.sh(/root路径下,随便哪个路径),其内容很简单,如下:

#!/bin/bash

svnserve -d -r /svn --config-file=/svn/conf/svnserve.conf(svn资源库路径)

2.>添加可执行权限

# chmod ug+x /root/svn.sh

3.>添加自动运行

vim /etc/rc.d/rc.local

在最后添加一行内容如下:

/root/svn.sh

svn使用

1、checkout

#svn co svn://路径(目录或文件的全路径) [本地目录全路径] 

 --username 用户名 --password 密码
 
#svn checkout svn://路径(目录或文件的全路径) [本地目录全路径] 

 --username 用户名 --password 密码

2、往版本库中添加新的文件

svn add file
例如:svn add test.php(添加test.php)
svn add *.php(添加当前目录下所有的php文件)

3、将改动的文件提交到版本库

svn commit -m "LogMessage" [-N] [--no-unlock] PATH(如果选择了保持锁,就使用--no-unlock开关)
例如:svn commit -m "add test file for my test" test.php
简写:svn ci

4、加锁/解锁

svn lock -m "LockMessage" [--force] PATH
例如:svn lock -m "lock test file" test.php
svn unlock PATH

5、更新到某个版本

svn update -r m path
例如:
svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)
简写:svn up

6、查看文件或者目录状态

1)svn status path(目录下的文件和子目录的状态,正常状态不显示)
【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
2)svn status -v path(显示文件和子目录状态)
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
简写:svn st

7、删除文件

svn delete path -m "delete test fle"
例如:svn delete svn://192.168.1.1/pro/domain/test.php -m "delete test file"
或者直接svn delete test.php 然后再svn ci -m 'delete test file‘,推荐使用这种
简写:svn (del,remove,rm)

8、查看日志

svn log path
例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化

9、查看文件详细信息

svn info path
例如:svn info test.php

10、比较差异

svn diff path(将修改的文件与基础版本比较)
例如:svn diff test.php
svn diff -r m:n path(对版本m和版本n比较差异)
例如:svn diff -r 200:201 test.php
简写:svn di

11、将两个版本之间的差异合并到当前文件

svn merge -r m:n path
例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)

12、SVN 帮助

svn help
svn help ci

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 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 1 yum install python-setuptools
设置时区(CentOS 7) 先执行命令timedatectl status|grep 'Time zone'查看当前时区,如果不是时区(Asia/Shanghai),则需要先设置为中国时区,否则时区不同会存在时差。 #已经是Asia/Shanghai,则无需设置 [root@xia
vim /etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO="static" 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: $
/// <summary> /// 取小写文件名后缀 /// </summary> /// <param name="name">文件名</param> /// <returns>返回小写后缀,不带“.”</ret
which nohup .bash_profile中并source加载 如果没有就安装吧 yum provides */nohup nohup npm run start & nohup ./kibana &
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官方的 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:查看所有进程, 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属