1.svn是什么?
Git是分布式的,而Svn不是分布的
Git把内容按元数据方式存储,而SVN是按文件
Git没有一个全局版本号,而SVN有
Git的内容的完整性要优于SVN
Git下载下来后,在OffLine状态下可以看到所有的Log,SVN不可以
1.独立访问:svn://...
1.BDB事务安全型(在服务器中断时可能锁住数据),1.2以前缺省配置
每次提交都保留一个原始副本,容量会暴增
管理方便,逻辑清晰,易于管理保证数据安全
代码一致性非常高
适合人数不多的项目开发
1.准备Linux环境,centos或者Ubuntu
2.检查是否安装svn
# rpm -qa subversion
3.如果没有安装,则使用(如果需要保留yum下载的安装包,需要修改/etc/yum.conf 文件中的keepcache值为1)
mkdir -p /usr/svn/data
mkdir -p /usr/svn/passwd
启动svn
# svnserve -d -r /usr/svn/data
创建版本库doc
# svnadmin create /usr/svn/data/doc
----------------------
conf db format hooks locks README.txt
----------------------
管理版本库
cd /usr/svn/data/doc/conf
----------------------
authz 权限管理文件
passwd 用户和密码文件
svnserve.conf 主配置文件
----------------------
**修改之前先备份文件
打开12-13、20、27行注释
----------------------
12 anon-access = none 禁止匿名访问
13 auth-access = write
20 password-db = passwd 或者同一管理 password-db = /usr/svn/passwd/passwd
27 authz-db = /usr/svn/passwd/authz
----------------------
使用diff 命令比较配置文件与备份文件内容
----------------------
12,13c12,13
< # anon-access = read
< # auth-access = write
---
> anon-access = none
> auth-access = write
20c20
< # password-db = passwd
---
> password-db = /usr/svn/passwd/passwd
27c27
< # authz-db = authz
---
> authz-db = /usr/svn/passwd/authz
----------------------
拷贝authz和passwd文件到/usr/svn/passwd下
----------------------
cp authz passwd /usr/svn/passwd/
** 修改权限 chmod 700 *
----------------------
添加用户 vi passwd
----------------------
[users]
test = test
...
----------------------
修改权限 vi authz
----------------------
语法:
[版本库:/项目/目录]
@用户组 = 权限
用户 = 权限
[groups]
# mg = test,...
[doc:/]
test = r
# 或者 @mg = r
更改svnserve.conf文件时需要重启svn服务,修改anthz和passwd时不需要重启
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
Git是分布式的,而Svn不是分布的
Git把内容按元数据方式存储,而SVN是按文件
Git没有一个全局版本号,而SVN有
Git的内容的完整性要优于SVN
Git下载下来后,在OffLine状态下可以看到所有的Log,SVN不可以
......
1.独立访问:svn://...
2.借助apache等http服务:http://...
1.BDB事务安全型(在服务器中断时可能锁住数据),1.2以前缺省配置
2.FSFS不需要数据库的存储系统,1.2以后缺省配置
每次提交都保留一个原始副本,容量会暴增
如果不能连接,则无法进行同步
管理方便,逻辑清晰,易于管理保证数据安全
代码一致性非常高
适合人数不多的项目开发
普及度比较高
1.准备Linux环境,centos或者Ubuntu
2.检查是否安装svn
# rpm -qa subversion
3.如果没有安装,则使用(如果需要保留yum下载的安装包,需要修改/etc/yum.conf 文件中的keepcache值为1)
# yum -y install subversion
8.配置并启动svn
创建svn的数据目录以及密码权限目录mkdir -p /usr/svn/data
mkdir -p /usr/svn/passwd
启动svn
# svnserve -d -r /usr/svn/data
创建版本库doc
# svnadmin create /usr/svn/data/doc
----------------------
conf db format hooks locks README.txt
----------------------
管理版本库
cd /usr/svn/data/doc/conf
----------------------
authz 权限管理文件
passwd 用户和密码文件
svnserve.conf 主配置文件
----------------------
**修改之前先备份文件
打开12-13、20、27行注释
----------------------
12 anon-access = none 禁止匿名访问
13 auth-access = write
20 password-db = passwd 或者同一管理 password-db = /usr/svn/passwd/passwd
27 authz-db = /usr/svn/passwd/authz
----------------------
使用diff 命令比较配置文件与备份文件内容
----------------------
12,13c12,13
< # anon-access = read
< # auth-access = write
---
> anon-access = none
> auth-access = write
20c20
< # password-db = passwd
---
> password-db = /usr/svn/passwd/passwd
27c27
< # authz-db = authz
---
> authz-db = /usr/svn/passwd/authz
----------------------
拷贝authz和passwd文件到/usr/svn/passwd下
----------------------
cp authz passwd /usr/svn/passwd/
** 修改权限 chmod 700 *
----------------------
添加用户 vi passwd
----------------------
[users]
test = test
...
----------------------
修改权限 vi authz
----------------------
语法:
[版本库:/项目/目录]
@用户组 = 权限
用户 = 权限
[groups]
# mg = test,...
[doc:/]
test = r
# 或者 @mg = r
----------------------
# yum remove subversion
使用svn://svnserverIP/doc
更改svnserve.conf文件时需要重启svn服务,修改anthz和passwd时不需要重启