Linux下多项目SVN配置方法

合集下载

【svn-Linux】Linux下SVN的全部使用说明

【svn-Linux】Linux下SVN的全部使用说明

【svn-Linux】Linux下SVN的全部使⽤说明%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%SVN http://202.231.××.×:×××/svn/03-Design/.....%××××××××××××××××××××××××××××××× 配置 ××××××××××××××××××××××××××××××××××××%1.安装svn sudo apt-get update # sudo apt-get install subversion 可以验证⼀下,通过如下命令: svn help //--svn帮助 svn --version //--svn版本 svnserve --version //--svn server版本%××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××%2.卸载svn利⽤以下命令查看⾃⼰的系统是否已经安装了svn: svn如果显⽰⼀下信息说明已安装,可以使⽤以下命令进⾏卸载: sudo apt-get remove --purge subversion (–purge 选项表⽰彻底删除改软件和相关⽂件)%××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××%3.创建SVN版本库创建项⽬⽬录和svn仓库: sudo mkdir /home/svn sudo mkdir /home/svn/repository sudo chmod -R 777 /home/svn/repository sudo svnadmin create /home/svn/repository # cd /home/svn/repository/ # ls执⾏命令后,会在repository下⽣成以下⽂件 conf db format hooks locks README.txt我们主要关⼼的是conf和db⽂件,conf⽂件夹下是存放主配置⽂件和⽤户、权限位置,db⽂件夹是存放svn转储后的数据。

linux ubuntu下svn命令使用指南

linux ubuntu下svn命令使用指南

Linux ubuntu下svn的命令使用指南Svn简介:Svn的全名是Subversion,它使用服务端—客户端的结构,当然服务端与客户端可以都运行在同一台服务器上。

在服务端是存放着所有受控制数据的Subversion仓库,另一端是Subversion 的客户端程序,管理着受控数据的一部分在本地的映射(称为工作副本)。

在这两端之间,是通过各种仓库存取层(Repository Access,简称RA)的多条通道进行访问的。

这些通道中,可以通过不同的网络协议,例如HTTP、SSH等,或本地文件的方式来对仓库进行操作。

Subversion是一种开放源码的全新版本控制系统,支持可在本地访问或通过网络访问的数据库和文件系统存储库。

不但提供了常见的比较、修补、标记、提交、回复和分支功能性,Subversion 还增加了追踪移动和删除的能力。

此外,它支持非ASCII文本和二进制数据,所有这一切都使Subversion不仅对传统的编程任务非常有用,同时也适于Web 开发、图书创作和其他在传统方式下未采纳版本控制功能的领域.Subversion的官方网站是:/大部分的发行版都已经提供Subversion套件,ubuntu下安装subversion客户端:sudo apt-get install subversion使用SubversionSubversion一般使用两种后台服务模式:一种是其自己实现的svnserve,可以通过svn协议访问,另一种是借助mod_dav_svn模块,由Apache http服务器来实现,然后通过HTTP或HTTPS协议来访问。

1、通过svn协议访问svn协议客户端若要通过svn协议访问仓库,必须在存放仓库的机器上运行svnserve服务程序。

启动该程序后,会监听在3690端口,以响应客户端的访问工作。

2、通过HTTP协议访问版本库通过HTTP协议访问版本库是Subversion的亮点之一,这种方式具备许多svnserve服务器所没有的特性,使用上更加灵活。

CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)

CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)

CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)在CentOS linux下安装SVN,我们可以进行以下步骤:第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发工具”里)和Web服务器(Apache)。

我用的是CentOS 6.4版本,只需要安装DVD1这个iso文件即可。

这个DVD文件中有我们下面用到的许多配置文件和模块文件,像mod_dav_svn等文件,都不需要用yum 命令进行额外下载安装(光盘中的文件的版本都是进行严格匹配的)。

第一次启动CentOS时,你就可以运行命令svn --version,查看是否提示SVN版本信息。

[root@svn ~]# svn --versionsvn,版本1.6.11 (r934486)编译于 Jun 232012,00:44:03版权所有 (C) 2000-2009 CollabNet。

Subversion 是开放源代码软件,请参阅 / 站点。

此产品包含由 CollabNet(/) 开发的软件。

可使用以下的版本库访问模块:* ra_neon : 通过 WebDAV 协议使用 neon 访问版本库的模块。

-处理“http”方案-处理“https”方案* ra_svn : 使用 svn 网络协议访问版本库的模块。

-使用 Cyrus SASL 认证-处理“svn”方案* ra_local : 访问本地磁盘的版本库模块。

- 处理“file”方案【准备工作】1.关闭防火墙、做好网络配置。

此时,我们要关闭防火墙,执行命令service iptables stop。

同时执行命令setup,选择“网络配置”,去掉DHCP,设置192.168.2.20(客户端也在192.168.2.x同一个网段内),子网掩码255.255.255.0。

linux搭建svn服务器的方法步骤

linux搭建svn服务器的方法步骤

linux搭建svn服务器的⽅法步骤⼀:安装svnyum install -y subversion⼆:创建仓库1:创建仓库⽬录mkdir -p /var/project/test2:创建仓库svnadmin create /var/project/test创建成功后,在/var/project/test⽬录下如下⽬录:drwxr-xr-x. 2 root root 51 1⽉ 30 13:26 confdrwxr-sr-x. 6 root root 4096 1⽉ 30 13:26 db-r--r--r--. 1 root root 2 1⽉ 30 13:26 formatdrwxr-xr-x. 2 root root 4096 1⽉ 30 13:26 hooksdrwxr-xr-x. 2 root root 39 1⽉ 30 13:26 locks-rw-r--r--. 1 root root 229 1⽉ 30 13:26 README.txtconf⽬录下是svn的配置⽬录,其中包括:-rw-r--r--. 1 root root 1080 1⽉ 30 13:26 authz #权限控制-rw-r--r--. 1 root root 309 1⽉ 30 13:26 passwd #密码管理-rw-r--r--. 1 root root 3090 1⽉ 30 13:26 svnserve.conf #SVN服务进程配置三:svn配置1:权限配置(/var/project/test/conf/authz)#⽤户分组(admin->管理员,development ->开发 other->其他)[groups]admin = test1 #管理员⽤户test1development = test2,test3 #开发⽤户test2,test3other = test4,test5,test6 #其他⽤户test4,,test5,test6#权限配置[/]@admin = rw #管理员读写权限@development = rw #开发读写权限@other = r #其他读权限test7 = rw #test7⽤户读写权限2:密码配置(/var/project/test/conf/passwd)#密码配置,格式为⽤户名=密码,密码为明⽂[users]test1 = test1test2 = test2test3 = test3test4 = test4test5 = test5test6 = test6test7 = test73:SVN服务进程配置(/var/project/test/conf/svnserve.conf)[general]anon-access = none #匿名⽤户⽆权访问auth-access = write #认证⽤户可读写password-db = passwd #指定⽤户认证密码⽂件authz-db = authz #指定权限配置⽂件四:启动svn服务(默认端⼝号3690)复制代码代码如下:svnserve -d -r /var/project #-d 服务后台运⾏ -r 指定⼯作⽬录,/var/project表⽰指定⼯作⽬录,注意不能指定仓库名地址(/var/project/test)指定端⼝启动svnsvnserve -d -r /var/project --listen-port 3691五:关闭防⽕墙,或开启指定端⼝号1:关闭防⽕墙systemctl stop firewalld2:开启指定防⽕墙#开启3690端⼝firewall-cmd --zone=public --add-port=3690/tcp --permanent#刷新配置firewall-cmd --reload六:客户端连接并上传⽂件windows上连接svn1:新建⼀个⽬录,右击选择svn 检出2:在版本库上填写linux的svn地址 svn://ip:3690/仓库名 (这⾥的仓库名不是/var/project/test⽽是/test)2:填写⽤户名密码这时候我们可以看到此⽬录下⽣成了⼀个.svn⽂件,说明我们已经连接上了linux上的svn服务器3:上传⽂件现在我们新建⼀个test.txt⽂件,在⾥⾯随便填⼀些信息(1)右击选择add然后选择test.txt⽂件,点击确定,这时候我们会看到test.txt⽂件上会多了⼀个加号(2):上传右击选择提交填写备注选择要上传的⽂件后点击确定这时候我们可以看到test.txt⽂件上的加号会变成绿⾊的对号,表⽰上传成功但是这时候我们发现我们在/var/project/test⽬录下根本就没有找到我们上传的⽂件,这是为什么呢?难道我们没有上传成功,这是由于把⽂件上传到SVN版本库后,上传的⽂件不再以⽂件原来的格式存储,⽽是被svn以它⾃定义的格式压缩成版本库数据,存放在版本库中,svn服务器版本库有两种格式,⼀种为FSFS,⼀种为BDB这时候我们就需要在linux中实现检出4:检出svn checkout svn://192.168.11.201/test /data/test #svn://192.168.11.201/test表⽰需要检出的仓库地址 /data/test表⽰需要检出到哪个⽬录下这是我们可以在/data/test⽬录下看到我们之前在客户端上传的⽂件,但是现在问题⼜来了,我们在客户端上传⽂件之后,不可能每次都在服务器进⾏检出操作吧,那么如何进⾏⾃动检出呢?5:⾃动检出配置在/var/project/test/hooks⽬录下新建⼀个post-commit⽂件,post-commit⽂件添加内容为:#!/bin/shREPOS="$1" #仓库REV="$2" #版本号export.UTF-8 #编码SVN=/usr/bin/svn #svn地址WEB=/data/test #要更新的项⽬⽬录$SVN update $WEB --username test1 --password test1 #--username test1表⽰设置⽤户名 --password test1表⽰设置密码将post-commit设置为可执⾏chmod +x /var/project/test/hooks/post-commit到此⾃动检出配置完成,不过注意,第⼀次的时候需要⼿动检出,之后就不需要了,到此linux搭建svn服务器完成以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

linux下搭建svn服务器

linux下搭建svn服务器

自己摸索了几天,今天终于小有成就!从零基础逐渐壮大,收获还是颇丰的!系统环境:虚拟机中Red Hat Enterprise Linux 4客户端windows: TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi需要的软件包:subversion-1.6.5.tar.bz2apr-1.3.8.tar.gz apr-util-1.3.9.tar.gzsqlite-amalgamation-3.6.13.tar.gzhttpd-2.2.4(不需要支持http访问的可以不安装)文章将阐述全过程,不需要支持http的可以不配置appche接下来的安装都是在root身份下安装apache#tar -zxvf httpd-2.2.4.tar.gz#cd httpd-2.2.4.tar.gz#./configure --prefix=/usr/local/apache 此处将会在后面的make时创建--enable-dav --enable-so --enable-modules=most注:--enbalce-dav 选项一定要加上启动apache#/usr/local/apache/bin/apachectl start打开浏览器http://192.168.58.xxx 如果有显示"It works!"则证明已经安装成功注:其中IP为安装apache机器的IP 也就是svn服务器的IP#make#make install安装apr apr-util#tar -zxvf apr-1.3.8.tar.gz注:解压时也可在此指定解压路径当然了安装时要进入其中#cd apr-1.3.8#./configure --prefix=/usr/local/apr 此路径为最终安装路径留个印象后面能用到#make#make install#tar -zxvf apr-util-1.3.9.tar.gz#cd apr-util-1.3.9.tar.gz#./configure=/usr/local/apr-util --with-apr=/usr/local/apr 提供apr支持 =后面为apr安装路径#make#make install安装 sqlite#tar -zxvf sqlite-amalgamation-3.6.13.tar.gz#cd sqlite-3.6.13#./configure --prefix=/usr/local/sqlite#make#make install安装svn#tar -zxvf subversion-1.6.5.tar.bz2#cd subversion-1.6.5#./configure --prefix=/usr/local/svn--with-paxs=/usr/local/apache/bin/apxs--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util--with-sqlite=/usr/local/sqlite--with-zlib=/usr/local/zlib 此处地址不定看看你zlib的安装路径在哪把它写在这没有的话自己装一个路径写这--with-ssl--enable-maintainer-mode#make#make install注:--with-zlib=/...后面不写路径会报错svn服务器安装结束安装svn客户端windows 下安装TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi 常用软件安装方法SVN配置建立版本库#mkdir -p /opt/svn#/usr/bin svnadmin create /opt/svn/repository#ls -l /opt/svn/repository有内容显示说明版本库建立成功#vi /opt/svn/repository/conf/svnserve.conf修改如下内容:并把每行的#去掉[general]anon-access = noneauth-access = writepassword-db = /opt/svn/repository/conf/passwd 此为系统自动生成文件,但要修改过之后才能生效authz-db = /opt/svn/authz.conf 此文件还没有创建但系统已经为此自动生成了一个文件,路径同上我用我自己创建的realm = repository创建svn用户此用户也就是客户端的登陆用户#htpasswd -c /opt/svn/htpasswd admin之后体统会提示输入密码、校验密码注:第一次创建svn用户时要加 -c 意思是:如果htpasswd存在将覆盖写入往后再创建svn用户时也是执行此命令不过不用加 -cadmin 为用户名标识登陆用户例:新增加用户user#htpasswd /opt/svn/htpasswd user用户配置文件#vi /opt/svn/repository/conf/passwd在最下面添加两行代码格式为:用户名 = 密码admin = admin 前不要加# 、留空格user = user权限配置文件#vi /opt/svn/authz.conf写入如下代码[groups]admin = admin,user[/]@admin = rw 代表admin的所有组员有读写权限注:admin组里面有admin和user组员其中有一个以上的组员时要用逗号隔开这一部分自己可以找资料看看设计内容很多,我只建了一个版本库,还有多个版本库的设置,版本库下的具体目录权限设置启动svn服务#svnserver -d --listen-port 9999 -r /opt/svn/repository注:启动时也是有名堂的可以找资料看看-d 后台运行9999是要监听的端口-r 后面的是版本库路径#ps -ef | grep svnserve 查看svn有没有启动成功成功显示root 5088 1 0 Jul05 ? 00:00:00 svnserve -d --listen-port 9999 -r /opt/svn/repository客户端登陆右键单击某个文件夹点击check out输入URL:svn://192.168.58.XXX:9999/opt/svn/repository其中IP为启动svn服务的机器的IP不用支持http的下面范围内可以不用理会/***********************************/配置apache#vi /usr/local/apache/conf/httpd.conf做如下修改:listen 80 如果是以root用户启动apache此处不用修改其他用户启动的要修改大于1024的否则报错# Example:# LoadModule foo_module modules/mod_foo.soLoadModule dav_module modules/mod_dav.soLoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so注:此段代码我的没有我自己添加的因为后面启动apache时报:Invalid command 'DAV', perhaps mis-spelled or defined by a module not included in the server configuration 别光添加代码还要确保此文件上级目录下的 modules 里面有相应的模块没有的话另外下载其他的 httpd-xxx-xxx 解压安装把其中的相应模块拷贝过来User svnGroup svnServerName 192.168.58.xxx IP设置svn服务器的IP把DocumentRoot "/usr/local/apache/htdocs"改为DocumentRoot "/opt/svn/repository"把<Directory "/usr/local/apache/htdocs">改为<Directory "/opt/svn/repository">另外在最下面添加:<Location /opt/svn>DAV svn 如果没有Loadmodules xxx_dav xxx.so 此处会报错SVNParentPath /opt/svn svn设置AuthType Basic 连接类型设置AuthName "Subversion Authorization" 连接框提示AuthzSVNAccessFile /opt/svn/authz.conf 权限配置文件此文件中有 [group] AuthUserFile /opt/svn/htpasswd 此文件中存的是用 htpasswd 创建的Require valid-user 采用何种认证</Location>重启apache 验证配置/usr/local/apache/bin/apachectl restart 如果没有启动用start打开浏览器访问http://192.168.58.xxx/opt/svn/repository --》弹出登陆框如果不弹出登陆框则配置失败/***********************************/最后:我安装过程中错误千奇百怪的,一点一点上网搜资料,慢慢的就完善了!也预祝你们顺利!。

linux下搭建SVN

linux下搭建SVN

linux下搭建SVN查看系统下有没有安装过⽼版本的svn:rpm -qa subversion,如果没安装过则什么都不显⽰如果有⽼版本先运⾏⼀下yum -y remove subversion,删除⽼版本。

第⼀步:通过yum命令安装svnserve,命令:yum -y install subversion此命令会全⾃动安装svn服务器相关服务和依赖,安装完成会⾃动停⽌命令运⾏若需查看svn安装位置,可以⽤命令:rpm -ql subversion第⼆步:创建版本库⽬录(此仅为⽬录,为后⾯创建版本库提供存放位置,subversion默认是把/var/svn作为数据根⽬录的,开机启动默认也是从这⾥):mkdir /var/svn/svnrepos第三步:创建svn版本库在第⼆步建⽴的路径基础上,创建版本库:svnadmin create /var/svn/test(test为⽬录(项⽬或版本库)名称,后⾯checkout项⽬时会⽤到。

)创建成功后,进⼊test⽬录下,可以看见如下⽂件信息:cd /var/svn/testconf:是这个仓库配置⽂件(仓库⽤户访问账户,权限)format:是⼀个⽂本⽂件,⾥边只放了⼀个整数,表⽰当前⽂件库配置的版本号hooks:放置hook脚步⽂件的⽬录locks:⽤来放置subversion的db锁⽂件和db_logs锁⽂件的⽬录,⽤来追踪存取⽂件库的客户端第四步:配置修改进⼊conf,conf⽬录下,⼀共存放三份重要的配置⽂件,如下:authz:负责账号权限的管理,控制账号是否读写权限passwd:负责账号和密码的⽤户名单管理svnserve.conf:svn服务器配置⽂件修改svnserve.conf:vim svnserve.conf原始⽂件内容,都被注释掉的,我们只需要去掉指定内容前注释即可,如下:[general]anon-access = none #控制⾮鉴权⽤户访问版本库的权限auth-access = write #控制鉴权⽤户访问版本库的权限password-db = passwd #指定⽤户名⼝令⽂件名,即访问时要输⽤户名和密码realm = test #指定版本库的认证域,即在登录时提⽰的认证域名称,改成⾃⼰的版本库修改authz⽂件信息:vim authz在⽂件内容的末尾,添加如下:rw表⽰赋予此账号可读写的权限,r为读,w为写,注意[/]中的斜杠,这⾥如果斜杠反了,authz-db = authz ⼀直会提⽰“认证失败”第⼀种⽅式:单个添加:# 按账号分权限[test/]admin = rwtest = r第⼆种⽅式(后⾯采⽤此⽅式配置):⽤户分组,再设权限[groups]# 按⽤户组分权限admin = admin,admin1 # admin为⽤户组,等号之后的为⽤户test = test1, test2 # test为⽤户组,等号之后的为⽤户[/] # 表⽰svn仓库⽬录(/var/svn/test),test: 对应前⾯配置的realm = test@admin = rw # 表⽰admin组对仓库(/var/svn/test)⽬录有读写权限,r为读,w为写@test = r # 表⽰test组的⽤户对对仓库(/var/svn/test)⽬录只有读的权限[/test1] # 表⽰test1⽬录(/var/svn/test/test1)@test = rw # 表⽰test组对test1⽬录有读写权限* =备注:版本库的⽬录格式如下:[<版本库>:/项⽬/⽬录]@<⽤户组名> = 权限<⽤户名> = 权限其中[]內容有許多写法:[/],表⽰根⽬录及其⼀下的路径,根⽬录是svnserver启动时指定好的,上述实例中我们指定为:/svn/svndata([/]=/svn/svndata).[/]就是表⽰对全部版本设置的权限[test:/],表⽰对版本库test设置权限;[test:/svnadmin],表⽰对版本库test中的svnadmin项⽬设置权限;[test:/svnadmin/second],表⽰对版本库test中的svnadmin项⽬的⽬录设置权限;权限的主体可以是⽤户组,⽤户或者*,⽤户组在前⾯要以@开头,*表⽰全部⽤户权限分为:r ,w, rw和null ,null空表⽰没有任何权限。

linux下安装svn详解

linux下安装svn详解

前言SVN服务器有2种运行方式:独立服务器和借助apache。

2种方式各有利弊,独立SVN服务器不结合Apache安装使用,连接独立SVN服务器也不用HTTP协议。

这是比较快捷的SVN服务器配置方法。

本次安装时使用的是独立用品方式。

SVN存储版本数据也有2种方式:BDB和FSFS。

因为BDB方式在服务器中断时,有可能锁住数据所以还是FSFS方式更安全一点,我安装时也使用的是FSFS方式。

一下载工具1. subversion-1.6.17.tar.gz2. subversion-deps-1.6.17.tar.gz这两个包可以直接到CSDN去下载,版本要一样,都是必须下载的,否则单独下载第一个包编译时就会提示缺少模块。

这两个包下载解压后会解压到同一个目录下,不需要特别指定。

二解压安装1. 解压两个包:在此之前,我已经创建了一个用户svnadmin专门用来安装管理svn的,就解压在/home/svnadmin/目录下tar -xzvf subversion-1.6.17.tar.gztar -xzvf subversion-deps-1.6.17.tar.gz2. 编译安装./configure --prefix=/home/svnadmin/subversion --without-berkeley-db //prefix指定安装的目录,without-berkeley-db表明不使用berkeley数据库//在这一步有可能不成功,是因为有一些依赖的软件没装,具体见下面“遇到的问题”makemake install//也许要sudo,看情况3. 查看是否安装成功/home/svnadmin/subversion/bin/svnserve --version//如果出现SVN的版本则证明安装成功三添加环境变量可以在/etc/profile中添加,这是全局的。

其实最好是专门添加一个svnadmin 用户,在~/.bashrc中添加即可:exprot PATH=$PATH:/home/svnadmin/subversion/bin四建立仓库1. 创建目录mkdir -p /home/svnadmin/svndata/repos1加上参数P,是如果没有父目录则自动创建注意: /home/svnadmin/svndata在这里将是所有仓库的根目录,repos1是其中的一个仓库。

Linux(CentOS6.2)下安装SVN

Linux(CentOS6.2)下安装SVN

Linux(CentOS6.2)下安装SVN 首先通过xftp4上传SVN所需要的软件包(上传到lINUX服务器)如上图,右侧红色框中的为已经上传到服务器的软件包apr-1.4.6.tar.gzapr-util-1.4.1.tar.gzsqlite-autoconf-3071100.tar.gzexpat-2.1.0.tar.gzneon-0.29.6.tar.gz (其中expat在neon之前安装,neon依赖expat)zlib-1.2.5.1.tar.gzsubversion-1.7.4.tar.gz (其中zlib在svn之前安装,svn依赖zlib)第一步:安装apr-1.4.6.tar.gzcd /root/app #进入/root/app目录里tar -zvxf apr-1.4.6.tar.gz #解压缩apr-1.4.6.tar.gz压缩包cd apr-1.4.6 #进入apr-1.4.6目录里./configure --prefix=/usr/local/apr #配置安装的路径为/usr/local/aprmake #编译make install #安装cd .. #退出到app目录里tar -zvxf apr-util-1.4.1.tar.gz #解压缩apr-util-1.4.1包cd apr-util-1.4.1 #进入apr-util-1.4.1目录里./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ #配置安装路径为/usr/local/apr-utilmake #编译make install #安装第三步:安装sqlite-autoconf-3071100.tar.gzcd .. #退出到app目录tar -zvxf sqlite-autoconf-3071100.tar.gz #在app目录中解压缩tar包cd sqlite-autoconf-3071100 #进入到sqlite-autoconf-3071100目录./configure --prefix=/usr/local/sqlite #配置安装目录makemake install第四步:安装expat-2.1.0.tar.gz(neon依赖expat)cd .. #退到app目录tar -zvxf expat-2.1.0.tar.gz#解压缩expat-2.1.0.tar.gz包cd expat-2.1.0 #进入到expat-2.1.0目录./configure --prefix=/usr/local/expat #配置安装路径makemake installcd .. #退到app目录tar -zvxf neon-0.29.6.tar.gz #在app目录中解压缩neon-0.29.6.tar.gz包cd neon-0.29.6 #进入neon-0.29.6目录里./configure --prefix=/usr/local/neon --enable-shared #配置安装路径============================================================================= 如果报下面的错误(第四步没有安装的时候,即expat没有安装时,可以yum install expat-devel 自动下载安装)如果上面第4步安装,就不会出现下面的错误报错configure: error: no XML parser was found: expat or libxml 2.x required 下面,用yum install expat-devel #CentOS里先安装expat-devel然后从新./configure --prefix=/usr/local/neon --enable-shared================================================================================== makemake install第六步:安装zlib-1.2.5.1.tar.gz (svn依赖zlib)cd .. #退到app目录tar -zvxf zlib-1.2.5.1.tar.gz #在app解压缩zlib-1.2.5.1.tar.gz包cd zlib-1.2.5.1 #进入zlib-1.2.5.1目录里./configure --shared #(此处不需要指明安装路径,否则后面SVN安装会找不到zlib)makemake install第七步:安装subversion-1.7.4.tar.gzcd .. #退到app目录tar -zvxf subversion-1.7.4.tar.gz #在app解压缩包cd subversion-1.7.4#进入subversion-1.7.4目录里./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-sqlite=/usr/local/sqlite--with-neon=/usr/local/neon#配置安装路径,上面的三行需要一次复制到命令行中===========================================================================如果出现上面的问题configure: error: subversion requires zlib说明第六步没有起作用,从新自动安装zlibyum install zlib 自动从网上下载安装zlib如果出现上面的问题,说明配置zlib时,指明路径,需要从新配置./configure --shared zlib切记不需要指明安装路径================================================================================ makemake install==================================================================================安装成功,发现 /usr/local/svn 下面有4个目录。

SVN服务器搭建和配置

SVN服务器搭建和配置

SVN服务器搭建和配置一、SVN服务器搭建1、安装Subversion(2)安装Subversion将subversion-1.2.3.tar.gz和zlib-1.2.3.tar.gz文件上传至服务器,在命令行窗口执行以下命令:# tar zxvf zlib-1.2.3.tar.gz# cd zlib-1.2.3# ./configure# make# make install# tar zxvf subversion-1.2.3.tar.gz# cd subversion-1.2.3# ./configure --with-zlib=/usr/local/zlib-1.2.3# make# make install上述步骤完成后,Subversion已经成功安装到服务器上。

2、搭建Subversion服务器(1)创建版本库创建一个名为repos的版本库,使用以下命令:# svnadmin create /data/svn/repos上述命令会生成以下文件夹:/data/svn/repos/ archivesconf db hooks locks README.txt(2)配置svnserve.conf[general]anon-access = noneauth-access = writepassword-db = passwdrealm = My First Repository(3)配置passwd文件vi /data/svn/repos/conf/passwd,输入以下内容:[users]username = password(4)启动svnserve使用以下命令启动svnserve:# svnserve -d -r /data/svn/repos此时,Subversion服务器已经搭建完成,可以使用它进行版本控制了。

二、SVN服务器配置1、Apache + SVN(1)配置ApacheApache的安装及配置不在本文讨论范围内,读者可以参照我们其他文章。

linux环境svn使用方法

linux环境svn使用方法

linux环境svn使用方法摘要:1.SVN简介与安装2.配置SVN客户端3.创建与克隆仓库4.提交与更新代码5.合并与解决冲突6.团队协作与权限管理7.常见问题与解决方法8.实战案例分享正文:一、SVN简介与安装1.SVN(Subversion)是一个开源的版本控制系统,用于管理分布式团队之间的源代码。

2.安装SVN:在Linux环境下,可以通过软件包管理器(如apt、yum 等)安装SVN。

二、配置SVN客户端1.设置SVN代理:在客户端机器上配置SVN代理,以便访问远程仓库。

2.配置SVN用户名和密码:在客户端机器上设置SVN用户名和密码,以备后续使用。

三、创建与克隆仓库1.创建本地仓库:在本地机器上创建一个新的SVN仓库。

2.克隆远程仓库:通过SVN客户端克隆远程仓库到本地机器。

四、提交与更新代码1.提交代码:将本地仓库的修改提交到远程仓库。

2.更新代码:从远程仓库拉取最新代码到本地仓库。

五、合并与解决冲突1.合并代码:将不同团队成员的修改合并到同一个分支。

2.解决冲突:在合并过程中遇到冲突时,学会使用SVN的冲突解决机制。

六、团队协作与权限管理1.创建分支:为不同团队成员创建单独的分支,以便并行开发。

2.权限管理:通过SVN对仓库和分支进行权限控制,保障团队协作的安全性。

七、常见问题与解决方法1.无法连接远程仓库:检查网络连接、SVN服务器配置等问题。

2.代码冲突:使用SVN的冲突解决机制,或切换到其他分支进行开发。

八、实战案例分享1.以实际项目为例,分享SVN在团队协作中的具体应用。

2.介绍SVN在不同场景下的优势和劣势。

通过以上步骤,您可以更好地在Linux环境下使用SVN进行版本控制和团队协作。

Linux部署SVN详解(含备份与还原)

Linux部署SVN详解(含备份与还原)

Linux部署SVN详解1安装操作系统安装系统采用CentOS-6.2/Database Server2安装配置apache与SVN1)数据包安装顺序:(安装包在CentOS-6.2盘的Packages目录下均可找到)a)apr-1.3.9-3.el6_1.2.i686.rpmb)apr-util-1.3.9-3.el6_0.1.i686.rpmc)httpd-2.2.15-15.el6.centos.i686.rpm依赖文件:httpd-tools-2.2.15-15.el6.centos.i686.rpm与apr-util-ldap-1.3.9-3.el6_0.1.i686.rpmd)sqlite-3.6.20-1.el6.i686.rpme)subversion-1.6.11-2.el6_1.4.i686.rpm依赖文件:neon-0.29.3-1.2.el6.i686.rpmneon依赖文件:pakchois-0.4-3.2.el6.i686.rpm与libproxy-0.3.0-2.el6.i686.rpm安装libproxy命令:三个包同时安装rpm -ivh libproxy-0.3.0-2.el6.i686.rpm libproxy-bin-0.3.0-2.el6.i686.rpm libproxy-python-0.3.0-2.el6.i686.rpmf)mod_dav_svn-1.6.11-2.el6_1.4.i686.rpm安装后将生成文件:/etc/httpd/conf.d/subversion.conf2)修改apache(即httpd)配置文件#vi /etc/httpd/conf/httpd.conf执行上述命令后,对文件进行以下修改:ServerName localhost:80localhost表示自己的IP地址(找到上面一行并做类似修改后保存退出)#service httpd start#chkconfig httpd on文件修改完成后,启动http服务并使用chkconfig命令设置开机自启动。

配置管理之SVN使用

配置管理之SVN使用

配置管理之SVN使用配置管理是软件开发过程中不可或缺的一环,它涉及到版本控制、配置项的管理、更改控制和发布管理等多个方面。

在配置管理中,版本控制是最基础的一个环节。

而在版本控制工具中,SVN(Subversion)是一种被广泛使用的开源版本控制系统,本文将介绍SVN的基本使用方法。

一、SVN的安装和配置2. 创建仓库:SVN的核心概念是仓库(repository),开发者将项目的所有版本和相关的文件都存储在仓库中。

在命令行中进入合适的目录,执行以下命令创建一个新的仓库:svnadmin create <repository_name>二、SVN的基本操作svn checkout <repository_url> <local_directory>2. 添加(Add)文件:在检出项目后,你可能需要添加新的文件到项目中。

使用以下命令可以将文件添加到SVN中:svn add <file_name>3. 更新(Update)项目:当其他开发者对项目进行了修改并提交到仓库中后,你可以使用以下命令将这些修改同步到你的本地工作环境中:svn update5. 查看日志(Log):使用以下命令可以查看项目的提交记录和详细信息:svn log6. 比较文件(Diff):使用以下命令可以比较两个或多个文件的差异:svn diff <file_name>7. 回滚版本(Revert):如果你对文件进行了错误的修改或不满意的修改,可以使用以下命令将文件回滚到之前的版本:svn revert <file_name>8. 分支和合并(Branching and Merging):SVN还支持分支和合并功能,这使得不同版本可以同时进行开发。

使用以下命令可以创建和合并分支:svn copy <source> <destination>svn merge <source> <destination>三、SVN的高级用法svn copy <source> <tag>2.锁定:在一些情况下,你可能需要锁定一些文件以防止其他人进行修改。

linux下svn的配置及svn常用命令

linux下svn的配置及svn常用命令

linux下svn的配置及svn常用命令SVN是Subversion的简称,是一个开放源代码的版本控制系统,svn服务器有两种运行方式:独立服务器和借助apache运行。

右图是一个svn的工作流程,它可以很方便用户的代码编写。

1.首先安装SVN:”sudo apt-get install subversion”.查看svn的版本和确定是否安装成功:”svnserve –version”.2.创建svn仓库:“svnadmin create msm”,其中msm是版本仓库的名字,仓库建立好了以后会有出现一个仓库名字的文件夹,文件夹下面有conf等几个目录和文件.接下来就需要设置版本仓库的权限了。

这里说明一下:版本库之间是独立的。

(下图为msm的目录)3.增加用户修改conf文件夹下的authz文件,该配置文件采用”基于路径授权”的策略,中括号里指定路径,以下列出对各用户的授权。

包括只读r,读写rw。

没有列出的用户,则不允许访问。

还可以对用户分组,列子如下用户组格式:[groups]<用户组名>=<用户1>,<用户2>其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。

版本库目录格式:[<版本库>:/项目/目录]@<用户组名>=<权限><用户名>=<权限>,其中,方框号内部分可以有多种写法:/,表示根目录(仓储目录)及以下。

根目录是svnserve启动时指定的,我们指定/opt/svndata。

这样,/就是表示对全部版本库设置权限。

权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。

权限可以是w、r、wr和空,空表示没有任何权限。

下图是我增加的用户组:(注意:等号后留有空格)增加后:4.修改用户密码添加用户后就要为用户设置密码了,打开conf/passwd文件:输入格式为,[users]<用户1> = <密码1> 如: admin = admin<用户2> = <密码2> 如: username2 = password2…...左边是我的添加:5.启动svn对用户权限、密码的控制需要启动SVN对用户权限、密码的控制,不然的话你就只能读而不能写了。

SVN配置方法

SVN配置方法

SVN配置方法软件工程版本控制领域, SVN已经逐步替代CVS, 今天配置SVN因为一些细节记不太清, 所以baidu了一下, 发现许多人所说的配置过程存在疏漏或错误, 因此我很罗嗦的记录了一下——绝对够罗嗦, 为的就是哪怕你从来没用过类似软件, 也能做到一次配置成功.(雪人注: 这里只考虑常见的局域网内使用, 因此没有使用SSH等.)SVN相关软件下载:1. svn的Win32版本: /servlets/ProjectDocumentList?folderI D=912.2. svnservice3. TortoiseSVN及简体中文语言安装包: /download.html搭建SVN服务器端:1. 解压缩svn到一个目录, 例如c:\svn2. 解压缩svnservice的压缩包, 将svnservice.exe放入c:\svn\bin3. 安装TortoiseSVN, 安装完毕时会提示重新启动计算机, 重启完毕后安装简体中文语言包, 然后在随便一个目录右击, 就会发现多出了一些SVN相关菜单, 选择其中的TortoiseSVN,再选择子菜单”Settings”, 设置Language为”中文(简体)”4. 打开”我的电脑”, 建立一个存放svn信息的目录, 例如c:\svnhome, 然后返回在c盘, 右击这个svnhome目录, 在出现的菜单中选择TortoiseSVN, 再选择子菜单”在此创建文件库”, 选择fsfs方式即可 (雪人注: 这里选择创建文件库实际上就相当于让TortoiseSVN代替你进行了svnadmin create c:\svnhome 的操作)5. 在dos控制台状态下cd c:\svn\bin 然后svnservice -install -d -rc:\svnhome 再net start svnservice来将其作为服务运行, 建议你再到控制面板-管理工具-服务中找到SVNService, 右击选择”属性”, 再将其启动类型设置为”自动”6. 打开c:\svnhome, 你会发现已经多了一些目录和文件, 打开conf子目录, 打开svnserve.conf文件, 这里行前凡是有#的都等于是被注释忽略了, 你可以把#去掉让那一行生效, 或者自己新添加行. 里面的英文注释已经详细说明了各种设置的含义, 最后你设置[general]小节中行前没有#号的内容为:anon-access = noneauth-access = writepassword-db = passwd含义是:未验证用户无任何权限 (如果把none修改为read就是给予读权限)已验证用户给予写权限 (当然也能读)密码数据存放到passwd文件中然后打开同目录的passwd文件来设置帐户:同样, 设置[users]小节中行前没有#号的内容, 例如:snowman=abc123含义是:用户snowman的密码为abc1236. 打开”我的电脑”, 在你需要进行版本控制的目录上右击, 选择TortoiseSVN, 再选择子菜单”导入…”, 设置”文件库url”为svn://localhost 点确定后就会提示文件正在导入. (雪人注: 这里是svn文件库与svn服务是同一台计算机的情况, 所以可用localhost, 其它机器如果要访问svn服务, 应该用svn://svn服务器的IP地址, 例如svn://10.0.0.52)至此, SVN服务器配置完成客户端配置:1. 没安装TortoiseSVN的计算机先安装它并重启计算机. (雪人注: 具体步骤参照前面搭建服务器端的第3步)2. 创建一个准备用来存放版本控制工程的目录, 例如d:\project, 然后在”我的电脑”中右击这个目录, 选择”SVN取出…”, 设置”文件库url”为svn://svn 服务器的IP地址, 接下来会问你用户名和帐号, 你就填写前面搭建服务器端所设置的用户snowman密码abc123(文件库url可参照前面搭建服务器端第6步的注解)点确定后就会提示文件正在取出到d:\project至此, SVN客户端配置完成, 你会看到d:\project及其下面的文件都被标记了绿色对勾客户端的简单日常使用:1. 要取得工程的当前的最新版本, 右击d:\project, 选择”SVN更新”2. 你更改工程后, 要将你的修改更新到SVN, 右击d:\project, 选择”SVN提交” (谨慎的话请先更新到SVN最新版本后再提交)其实就是将svnservice文件拷贝到你已经装好的TortoiseSVN目录下,然后运行上述的那些命令后(svnservice -install -d -r c:\svnhome),去控制面板-〉管理工具-〉服务,既可以看到svn的服务了,启动即可SVN安装与启动服务2010-02-22 11:25[转]一、安装首先下载一个SubVersion,和TortoiseSVN。

svn配置路径

svn配置路径

svn配置路径
1. 安装SVN服务端:在centOS7系统中,使用yum命令进行安装,命令为`yum -y install subversion`。

2. 检查服务端是否安装成功:使用`svnserve --version`命令检查,如果输出SVN的版本,则说明安装成功。

3. 创建SVN目录:在/home/下创建一个目录,名称任意,例如SVN。

4. 创建SVN项目库。

5. 编辑配置文件:
- 编辑`svnserve.conf`文件:设置SVN服务器的配置选项。

- 编辑`authz`文件:设置用户访问权限。

- 编辑`passwd`文件:设置用户名和密码。

6. 启动服务:使用`svnserve -d -r /home/SVN`命令启动SVN服务。

请注意,具体的配置路径和步骤可能因系统和需求而有所不同。

如需了解更多信息,请提供更多详细的信息,以便为你提供更准确的回答。

linux svn客户端安装及使用

linux svn客户端安装及使用

测试是否已经可以在用户目录下使用svn:
svn help 如果出现命令列表,则表示已经链接成功。
5. 使用chmod命令,使 list checkout commit这三个命令脚本有执行权限:
chmod 777 list checkout commit
cp list checkout commit /usr/bin
# svn up 更新本地工作目录
D)删除库上一个文件夹(demo) 进入DemoProject/src/目录
# svn up 更新本地工作目录
# svn del demo 删除demo文件夹
# commit demo 将删除提交到库
3、 本地与库之间的操作
A) 查看库上目录结构(查看DemoProject目录结构)
# svn st
如果你的 hello.cpp修改后还没有提交,则使用svn st会在第一列显示hello.cpp的状态为M,表示项目已经修改但没有提交到库。
B) 查看svn命令的帮助
# svn help update 查看update命令的帮助.
C) 提交时冲突(没有更新本地工作目录而修改文件导致冲突)处理:
B) 提交修改过的整个文件夹到库(修改了文件夹include
# svn up
# commit include
# svn up
C) 新增一个文件夹到库(DemoProject/lib)
进入DemoProject目录:
# svn mkdir lib 创建lib包
# commit lib 提交到库
D)checkout下来库的老版本
首先查看你需要checkout下来的DemoProject老版本,然后再checkout下来:

Svn安装和使用教程

Svn安装和使用教程

Svn安装和使用教程SVN是一种版本控制系统,它可以帮助团队成员协同开发项目,追踪和管理代码的变更,并保留每个版本的历史记录。

下面将详细介绍如何安装和使用SVN。

一、安装SVN2.设置环境变量在安装完成后,需要将 SVN 的可执行文件路径添加到系统环境变量中,这样才能在任意位置执行 SVN 命令。

将 SVN 的安装路径添加到环境变量"Path"中即可。

3.验证安装结果打开命令提示符(Windows)或终端(Linux/macOS),运行以下命令验证安装结果:```svn --version```如果显示了SVN的版本信息,则表示安装成功。

二、使用SVN1.创建版本库版本库(repository)是 SVN 存储项目历史记录的地方。

创建一个新版本库的命令如下:svnadmin create /path/to/repository```其中,/path/to/repository 是你指定的版本库的路径。

2.导入项目在版本库创建完成后,我们需要将项目导入版本库中,这样才能开始对项目进行版本控制。

假设你的项目位于 /path/to/project 目录下,导入命令如下:```svn import /path/to/projectfile:///path/to/repository/project-name -m "Initial import"```其中,file:///path/to/repository 是版本库的路径,project-name 是你给项目起的名字,-m 后面的字符串是你对本次导入的描述信息。

3.检出代码检出(checkout)是从版本库中获取最新的项目副本的操作。

运行以下命令将项目检出到本地的一些目录中:```svn checkout file:///path/to/repository/project-name/path/to/checkout其中,/path/to/checkout 是你在本地指定的存放检出副本的目录。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. 安装SVN服务器软件
2. 在home下创建svn根目录
mkdir /home/svnroot
3. 在/home/svnroot下创建Project1 , Project 2, Project3 三个项目文件夹,这三个文件夹要存放不同项目的SVN版本库。

4. 同样在/home/svnroot中创建CodeAuth 文件夹,该文件夹将保存passwd 和authz文件,在第6步中实现。

5. 创建项目
cd /home/svnroot
svnadmin create Project1
svnadmin create Project2
svnadmin create Project3
分别创建了三个项目的版本库,版本库目录conf中存在passwd 、authz、和svnserve.conf 文件
passwd - 用于存放本svn库的用户名和密码
authz - 存放本svn库的访问授权信息
svnserve.conf 文件为存放本svn库的全局访问控制信息
6. 将passwd 、authz文件拷贝到/home/svnroot/CodeAuth中,将三个项目下conf目录中的passwd 和authz文件删除
7. 修改三个项目中conf目录下的svnserve.conf 文件,最快的办法是修改一个项目下的svnserve.conf 文件,使用它覆盖其他两个项目下的svnserve.conf 文件。

svnserve.conf 修改为
[general]
anon-access = none auth-access = write
password-db = /CodeAuth/passwd
authz-db = /CodeAuth/authz 8. 修改/home/svnroot/CodeAuth下的passwd文件为[users] admin=admin001
9. 修改/home/svnroot/CodeAuth下的Authz文件为[groups] admin_group=admin
[Project1:/]
@admin_group=rw
*=
[Project2:/]
@admin_group=rw
*=
[Project3:/]
@admin_group=rw
*=
10. 启动SVN服务
svnserve -d -r /home/svnroot
OK,服务器端配置完毕!。

相关文档
最新文档