Subversion Training
Subver有推翻、颠覆的意思,有暴力的倾向。Subver开发就是为了推翻一个软件产品,就是为了推翻CVS版本控制器。
快速了解掌握Subersion
第一讲 概述和安装
Chapter 1
SVN Overview and Installation
一、常见的工作情况
嗨,兄弟能不能把上周二改变的文件发过拷贝给我?
兄弟这个函数不能用了,你是不是改了什么东西?
我找不到底层的类了,我想你是不是将底层的类实现了。
兄弟们,上周大家都很辛苦,我们现在将大家的代码都合在一块。
为了解决上面的问题
二、什么是Subversion?
SVN是一个版本控制器,在2000年的时候由CollabNet公司开发。主要是为了维护文件
的当前版本和历史的版本,它的目标就是为了取代CVS.
SVN被越来越多的开源软件项目所有使用,如:Apache GCC FreeBSD Python PHP等等
SVN是开源的
三、What is Version Control? 什么是版本控制器
文件每次更改都是一个状态,这个状态就是一个版本。
它是用来变更文件系统的变更的。你所谓的改变通常使用一个编号标记,这个叫版本号
每一个版本都和一个时间撮和一个作者关联
一个文件可用用不同的版本进行比较,查看他们的差异,可以被恢复、合并、冲突怎么解决
四、SVN体系
Subversion Architecture
五、Subversion's Components SVN有那些组件
1 svn 最重要客户端命令行工具,推行,可以嵌套在代码中自动化编程
2 svnversion
3 svnlook
4 svnadmin 后端管理工具
5 mod_dav_svn apache SVN插件
6 svnserve 独立的进程
7 svndumpfilter
8 svnsync
六、The Repository 数据仓库
集中存放信息的地方
SVN是一个集中式的系统,通过集中式访问信息,它的核心就是Repository
SVN怎么存储信息呢?其实就是将文件存储在系统的目录树下,从物理结构下创建的虚拟的文件系统
客户端通过连接服务器,读取或者修改文件。当一个客户端更改其他客户断就可以看见修改
Repository和一般的文件系统有什么不同之处,Repository有一个记忆的功能,递增存储,记录
文件的修改和目录的修改,与Git相反
客户端从服务器读取时,默认是最后版本,也可以提取历史版本。
七、版本控制器需要解决的问题。
文件共享存在的问题? The Problem of File Sharing
所有的版本控制系统主要是为了协同工作
1、The Lock-Modify-Unlock Solution L-M-U
锁带来管理问题,锁了就不能读
不能读
2、The Copy-Modify-Merge Solution C-M-M
创建一个本地副本
独立的做独立的修改
在最后将所有的拷贝合并在一起
系统将文件合并在起不是所有都可以自动,有冲突的就必须人为沟通
八、Repository URLs
你可以通过几种方法访问数据,通过网络地址访问
file:///
http:// apache
https:// SSL加密
svn://
一般常用的是http和https,他们有个主要的优点是跨越防火墙
九、安装 理论联系实际才能更深入学习(使用源码安装)
主要讲解服务器的安装
下载三个源码包
subversion 1.6.5.tar.gz
subversion deps 1.6.5.tar.gz
httpd-2.4.9.tar.gz
解压上面三个包
cd subversion
vim INSTALL
动手安装
首先安装apache
cd apache
./configure --enable-dav --enable-so --prefix=/opt/www
make && make install
成功编译好sub,在apache文件中的module就有sub
安装subversion
./configure --with-apxs=/opt/www/bin/apxs --prefixe=/opt/svn
make && make install
Subver有推翻、颠覆的意思,有暴力的倾向。Subver开发就是为了推翻一个软件产品,就是为了推翻CVS版本控制器。
快速了解掌握Subersion
第一讲 概述和安装
Chapter 1
SVN Overview and Installation
一、常见的工作情况
嗨,兄弟能不能把上周二改变的文件发过拷贝给我?
兄弟这个函数不能用了,你是不是改了什么东西?
我找不到底层的类了,我想你是不是将底层的类实现了。
兄弟们,上周大家都很辛苦,我们现在将大家的代码都合在一块。
为了解决上面的问题
二、什么是Subversion?
SVN是一个版本控制器,在2000年的时候由CollabNet公司开发。主要是为了维护文件
的当前版本和历史的版本,它的目标就是为了取代CVS.
SVN被越来越多的开源软件项目所有使用,如:Apache GCC FreeBSD Python PHP等等
SVN是开源的
三、What is Version Control? 什么是版本控制器
文件每次更改都是一个状态,这个状态就是一个版本。
它是用来变更文件系统的变更的。你所谓的改变通常使用一个编号标记,这个叫版本号
每一个版本都和一个时间撮和一个作者关联
一个文件可用用不同的版本进行比较,查看他们的差异,可以被恢复、合并、冲突怎么解决
四、SVN体系
Subversion Architecture
五、Subversion's Components SVN有那些组件
1 svn 最重要客户端命令行工具,推行,可以嵌套在代码中自动化编程
2 svnversion
3 svnlook
4 svnadmin 后端管理工具
5 mod_dav_svn apache SVN插件
6 svnserve 独立的进程
7 svndumpfilter
8 svnsync
六、The Repository 数据仓库
集中存放信息的地方
SVN是一个集中式的系统,通过集中式访问信息,它的核心就是Repository
SVN怎么存储信息呢?其实就是将文件存储在系统的目录树下,从物理结构下创建的虚拟的文件系统
客户端通过连接服务器,读取或者修改文件。当一个客户端更改其他客户断就可以看见修改
Repository和一般的文件系统有什么不同之处,Repository有一个记忆的功能,递增存储,记录
文件的修改和目录的修改,与Git相反
客户端从服务器读取时,默认是最后版本,也可以提取历史版本。
七、版本控制器需要解决的问题。
文件共享存在的问题? The Problem of File Sharing
所有的版本控制系统主要是为了协同工作
1、The Lock-Modify-Unlock Solution L-M-U
锁带来管理问题,锁了就不能读
不能读
2、The Copy-Modify-Merge Solution C-M-M
创建一个本地副本
独立的做独立的修改
在最后将所有的拷贝合并在一起
系统将文件合并在起不是所有都可以自动,有冲突的就必须人为沟通
八、Repository URLs
你可以通过几种方法访问数据,通过网络地址访问
file:///
http:// apache
https:// SSL加密
svn://
一般常用的是http和https,他们有个主要的优点是跨越防火墙
九、安装 理论联系实际才能更深入学习(使用源码安装)
主要讲解服务器的安装
下载三个源码包
subversion 1.6.5.tar.gz
subversion deps 1.6.5.tar.gz
httpd-2.4.9.tar.gz
解压上面三个包
cd subversion
vim INSTALL
动手安装
首先安装apache
cd apache
./configure --enable-dav --enable-so --prefix=/opt/www
make && make install
成功编译好sub,在apache文件中的module就有sub
安装subversion
./configure --with-apxs=/opt/www/bin/apxs --prefixe=/opt/svn
make && make install
第十章 配置
LoadModule dav_svn_module modules/mod_dav.so // 前提是没有加入with-dav
LoadModule dav_svn_modeule modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
访问某些特定的网址时候,就访问SVN
1\配置 Repository
创建一个Repository
svnadmin create repos
2\配置访问
修改http.conf
<Location /repos>
DAV svn
SVNPath /opt/repos
</Location>
3 httpd.conf User Group,
将/repos chmod 700 /repos
chown -R pth.pth /repos
svn import mysrc -m "Init" http://....