配置Subversion

简介:

采用 Subversion 作为版本控制,配置方式如下:
版本控制选用 Subversion ,它对重构的支持比 CVS 要好。例如改名,原子提交等 CVS 无法支持的操作。
安装  Subversion
  [url]http://subversion.tigris.org/[/url]  下载最新版的  Subversion ,你可以下载  .zip  或者打包好的自动安装程序,我下载的是档案  svn-1.3.2.setup.exe
下载后直接安装,安装过程都是下一步,没什么特别的。安装完成后,连必要的环境变量都帮你设定好了(如果你下载的是  .zip  档,就要自行设定)。
建立档案库
假设我们要把所有的档案库都放在  d:/svn  目录下,现在要建立一个测试用的档案库,名称叫做   repository ,指令为:
md d:/svn
 
 
警告
档案库绝对不可以在建立在任何远程的储存媒体上,例如:网络磁盘驱动器。
汇入专案
不用急着把你现有的正式项目汇入档案库,先建立一个用来测试的项目目录就好了。我们先在  c:/temp  底下建一个 ProjectA  的项目目录结构,参考下面的指令:
c:
cd temp
md ProjectA
md ProjectA/trunk
md ProjectA/branches
md ProjectA/tags
svn import . d:/svn/repository -m "Initial repository layout"
或通过 TortoiseSVN 建立 svn 根目录。立即就可以使用 client 通过 file:///d:/svn 来访问该目录。
档案库与项目的配置方式
延续前面的范例,如果你再汇入其它项目,例如  ProjectB ,那么整个档案库的结构会变成这样:
/svn/repository/
  +-- ProjectA/
  +-- ProjectB/
也就是说  repository  这个档案库里面包含了两个项目。
如果你希望为每个项目建立一个档案库,那么在  2.4  节中建立档案库的指令就变成:
md d:/svn
svnadmin create d:/svn/repository/ProjectA
svnadmin create d:/svn/repository/ProjectB
这样就变成有两个档案库了,档案库名称分别是  ProjectA   ProjectB
提示
如果项目之间有共享的档案,建议把这些相关的项目放进同一个档案库;如果项目之间彼此毫无关系,那就采用一个档案库放一个项目的方式,这种方式等于项目就是档案库。
第一种方式有个比较奇怪的「功能」你应该要知道,就是一个项目的  check in  动作,也会令其它项目的档案的修订版次递增   ,如果这不是你想要的,请选择第二种方式,即一个档案库只存放一个项目。
项目的目录结构
这里补充说明一下  ProjectA  的目录结构。在  ProjectA  项目的根目录下建立的  trunk branches 、和  tags  这三个目录是有特别意义的,它们的作用分别是:
trunk  目录用来存份目前项目正在进行开发的程序档案和文件(又称为主线,即  mainline );
branches  用来存放主线的各个仍在发展中的分支;
tags  则用来存放已经不再变动的分支,也就是其中的档案不会再修改了。
这是  Subverion 官方手册 建议的目录结构安排方式,你可以自己决定要不要用这种配置方式,详细说明请参考 官方手册 的第五章,子标题为  "Choosing a Repository Layout"
SVN 3 种常用访问方式。通过 file://, svn://,http://  等不同的协议来访问。对于协作开发,这三种都可以胜任:如果在同一局域网内,可通过 windows 的文件共享协议来访问其他机器上的文件,例如 file://server/d/svn svn 协议使用 3690 端口,如果防火墙无法打开端口,可与 Apache 整合使用 http 协议。
采用 svn 协议的好处是安全性比较强,可任意更改服务监听端口。运行 %SVN_HOME%\bin\svnserve –d –r d:\svn ,即可按照 daemon 方式来运行一个后台进程,监听 svn 协议的请求。 -r 的作用是声明 root 目录。
linux 下运行一个 daemon 进程非常简单,但是在 windows 中想让进程在后台运行就需要做成服务才行。下载并安装 SVN Service Wrapper ,将 svnserve 包装为服务。
执行: svnservice -install -d -r d:\svnrepo ,在控制面板 -> 服务中手动开启。用 TortoiseSVN 浏览 svn://localhost/ ,注意要带上最后的 “/” 指明 root 才能正确访问。
使用版本控制必须要进行权限控制, svn 协议的权限控制可通过 ssh 来控制,访问协议则改为: svn+ssh://localhost/ windows 下这种方式需要安装 ssh 客户端。
另一种简易的版本控制为使用 passwd 文件。修改 %REPO_HOME%/conf/ svnserve.conf ,包含如下几句:
       [general]
        指定匿名可读,授权后才可写入
       anon-access = read
       auth-access = write
        指定密码文件为当前目录下 passwd
       password-db = passwd
Passwd 文件内容如下,用户名  =  密码:
       [users]
       user1 = 123456     
    Subversion Eclipse 插件为: Subclipse ,对 SVN 支持比较完善。一般的操作均可胜任。 Subclipse TortoiseSVN 结合使用能发挥更大的威力。
相关网站
[url]http://tortoisesvn.tigris.org[/url] TortoiseSVN ,很好的 SVN 客户端
参考资料
[url]http://svn.ntcu.net/kwiki/[/url]  中文的 SVN 资料
[url]http://svnbook.red-bean.com/[/url] Book: Version Control with SVN




本文转自 张善友 51CTO博客,原文链接:http://blog.51cto.com/shanyou/75036,如需转载请自行联系原作者
目录
相关文章
|
网络协议 算法 数据可视化
TCP/IP与ISO/OSI模型的差异解析
TCP/IP与ISO/OSI模型的差异解析
441 0
|
canal Kubernetes Perl
Network Policy及应用
文章主要介绍了如何在Kubernetes中使用Network Policy进行网络策略配置,包括如何部署Calico网络模型来支持网络策略,以及如何通过设置不同的网络策略来控制不同命名空间下Pods之间的访问权限。
232 4
Network Policy及应用
|
机器学习/深度学习 存储 数据可视化
使用MATLAB进行数值计算的技术指南
【6月更文挑战第4天】MATLAB是款强大的数值计算软件,适用于工程计算、科学分析和数据分析。本文介绍了MATLAB的基础,包括界面、变量和数组、基本运算。接着讲解了MATLAB在数值计算的应用,如线性代数(求解线性方程组)、微积分(函数积分)和数据分析可视化(绘制图形)。MATLAB还支持高级应用,如外部设备通信和机器学习。通过学习,用户能更高效地进行数值计算和数据分析。
|
JavaScript Java 测试技术
基于SpringBoot+Vue的河北任丘非物质文化遗产数字化传承的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的河北任丘非物质文化遗产数字化传承的详细设计和实现(源码+lw+部署文档+讲解等)
248 0
|
域名解析 网络协议 应用服务中间件
2024最新彩虹聚合DNS管理系统源码v1.3 全开源
聚合DNS管理系统可以实现在一个网站内管理多个平台的域名解析,目前已支持的域名平台有:阿里云、腾讯云、华为云、西部数码、DNSLA、CloudFlare。 本系统支持多用户,每个用户可分配不同的域名解析权限;支持API接口,支持获取域名独立DNS控制面板登录链接,方便各种IDC系统对接。
530 0
|
JavaScript 小程序 Android开发
【经验分享】如何实现自定义的actionSheet组件
【经验分享】如何实现自定义的actionSheet组件
269 6
|
JSON Java 数据格式
SpringBoot 统一响应返回格式格式 数组
SpringBoot 统一响应返回格式格式 数组
|
机器学习/深度学习 编解码 人工智能
3D车道线检测能否成为自动驾驶的核心?盘一盘近三年的SOTA论文!(下)
车道线检测是自动驾驶与计算机视觉领域中的重要研究方向,3D车道线任务更是近几年的研究热点,下面为大家盘点下近三年的一些工作!
3D车道线检测能否成为自动驾驶的核心?盘一盘近三年的SOTA论文!(下)