分享
 
 
 

《使用Subversion进行版本控制》之前言

王朝other·作者佚名  2006-02-01
窄屏简体版  字體: |||超大  

1

前言

“ 如果 C 給了你足够多的绳子来吊死自己, 那么

Subversion 可视为一种收回绳子的工具。 ” —

Brian Fitzpatrick

在开源的世界中, CVS

(Concurrent Versions System)长久以来, 一直都是版本控制的不二选择. CVS本身是自由软件, 而且它 “非限定性”(non-restrictive) 的形式 —使得分布广阔的程序员能夠分享彼此的工作— 完全符合开源的合作开发模式. CVS, 以及它那半混乱(semi-chaotic)式的开发模式, 已经成为开源文化的基石。

但是就像许多的工具一样, CVS 也已经开始显露疲态. 相比较起来,

Subversion 是一个全新的工具,

被设计来成为

CVS 的继任者.

设计者要以两个特性来贏得

CVS 使用者的心: 创建一个设计 (还有 "外观与感觉") 类似 CVS 的开源系統, 并试图修正 CVS 中最广为人知的缺点。 虽然不见得会是版本控制设计的下一个伟大革命, 但是

Subversion 绝对会是个有力,

可用性高,

而且富有弹性的工具。

1.1

目标读者

本书是写给那些想要通过 Subversion 来进行数据管理的电脑使用者. 虽然 Subversion 可以在许多不同的操作系统上执行, 但是主要的使用界面还是通过命令行工具(svn). 由于这样的原因, 本书的例子都假设使用者使用的是类似 Unix 的操作系统, 而且熟悉 Unix 与其命令行的界面。

也就是说,svn程序同样可以运行在ms Windows等非Unix环境下。因为一些小的区别,如使用反斜杠(“\”)代替正斜杠(“/”)作为文件路径的分隔符之外,运行于Windows环境下的 Subversion 输入输出是与Unix环境下没有两样的。然而,Windows用户会发现在Cygwin模拟环境下运行Subversion 可能更为合适。

大多数的使用者可能是程序员或系统管理员, 需要跟踪源代码的变更; 这是 Subversion 最常见的用法, 因此也是本书例子的假设情景。 但是请记住, Subversion 可以用来管理任何类似的数据: 图片, 音乐, 数据库, 文件等等。 对 Subversion 而言, 所有的数据仅仅就是数据而已。

虽然本书撰写时, 我们假设读者都有使用过版本控制工具, 但是我们也试着让 CVS 的用户能够很快上手。 一些

注解选项(sidebar) 会经常出现讨论 CVS, 而且也有一章附录用来概述 CVS 与 Subversion 之间的不同。

1.2 如何阅读本书

本书的目标是为没有版本控制经验背景不同的用户成为有经验的系统管理员提供帮助。根据您自身的背景,有的章节可能对您有不同的重要性。以下可作为针对不同读者推荐阅读清单的一个参考:

1.2.1

经验丰富的系统管理员

如果你之前曾经使用过CVS,并希望通过Subversion运行ASAP。那么在第5章和第6章中描述了如何创建您的第一个资料档案库(repository)并使之能通过网络使用。在此之后,第3章和附录A将是发挥你CVS经验学习Subversion客户端的一条捷径。

1.2.2

新用户

您的SVN管理员或许已经构建好了Subversion环境,您则需要学习如何使用客户端。如果你以前从来没有使用过版本控制系统(像CVS),那么第2章和第3章是一个很重要的介绍。如果您已经使用过或者是CVS的老手,第3章和附录A是最好的起步之处。

1.2.3

高级用户

不管您是以为用户或者管理员,最后您所在的项目将变得更大。您需要去学习怎样通过Subversion去实现更多的高级功能,就像怎样使用分支和冲突合并(第4章),怎样使用Subversion的属性支持,怎样配置运行期选项(第7章),还有其他更多。第4章和第7章在开始的时候虽然显得不是那么重要,但是肯定的是一旦您阅读过这些章节,您的基础更加扎实。

1.2.4

开发人员

大概您对Subversion已经有了相当的了解,现在希望即能扩展xvn也能通过系统的API来构建新的软件,那么第8章最适合您。

本书以参考资料结束-第9章是一份所有Subversion命令的参考向导,附录涵盖了很多游泳的主题。有很多的章节您将会在首次阅读后再次翻阅。

1.3

本书结构

以下是各章节的内容简介

第1章 介绍

介绍了svn的历史,除此之外还有svn的特性、结构、组建和安装方法。同样还有快速起步向导(quick-start guide)。

第2章 基础内容

通过Subversion的档案库(repository)、工作版本(working copies)和修正版本(revisions),解析了版本控制的基础知识和不同版本模型之间的不同。

第3章 引导之旅

通过示例展示如何使用 Subversion 获取、修改和提交数据。

第4章 分支与合并冲突

讨论分支、合并与标签。包含分支、合并、通用用户案例、如何取消更改和如何轻易在分支之间的切换的最佳实践。

第5章 档案库管理

描述了Subversion档案库的基础知识。包括如何创建、配置和维护一个档案库,还有可以实现这些功能的工具。

第6章 服务器配置

说明了如何配置Subversion服务器并介绍了登陆档案库的三种途径:HTTP、svn 协议和本地登陆(local access)。除此之外,还有证书、授权和匿名登陆的详细描述。

第7章 高级主题

探索Subversion的客户端配置文件系统、文件和目录属性。如何忽略在您工作版本中的文件、如何包含工作版本中的外部树,还有最新的,如何处理vendor分支。

第8章 开发人员信息

介绍Subversion的内部,包括Subversion文件系统和从程序员视出发的工作版本管理区域(administrative

areas)。通过示例介绍了如何使用通用API在程序中使用Subversion,最重要的是,如何构建Subversion的开发。

第9章 Subversion完整参考

通过大量的示例详细说明了svn、svnadmin和svnlook每一个子命令。

附录A 写给CVS用户

内容涵盖Subversion与CVS的异同。还有在如何改掉常年使用CVS养成的坏习惯的大量的建议。包括Subversion版本号(revision numbers)、版本目录(versioned directories)、离线操作(offline operations)、更新与状态(update vs. status)、分支、标签、元数据(metadata)、冲突排解和授权。

附录 B 常见问题说明

解答在使用和构建 Subversion 中常遇到的问题和困难。

附录 C WebDAV和自动版本控制

详细介绍WebDAV和DeltaV,还有如何配置Subversion档案库去实现如同DAV共享一样的读/写绑定。

附录 D 第三方工具

讨论一些支持Subversion的工具,包括可选用的客户端程序,档案库浏览工具,如此等等。

1.4

本书是自由的

本书起初只是 Subversion 项目的开发人员所写的文件而已, 后来就成为独立的工作, 并被重新改写。 因为如此, 这个文件也和

Subversion 一样, 使用的是自由的开源授权。 事实上, 本书是在众人面前写成的, 是 Subversion 的一部份。 这意味著兩件事:

a)

你可以在 Subversion 所在的档案库中, 找到本书的最新版本。

b)

你可以任意发布、修改本书 — 它用的是自由授权。 当然了, 除了发布自己私有的版本, 我们更希望你能够將反馈与修正送回给 Subversion 开发者团体。 请参见 the section called “Contributing to Subversion”, 以了解如何加入本社群。

1.5 致谢

(略)

1.6 Subversion 1.1的新特性

本书的版本已经更新到了涵盖了Subversion 1.1中的新特性和发生变更的行为。以下是Subversion 1.1中主要变化的一些简介。

1.6.1

非数据库的资料库

如今不使用BerkeleyDB数据库同样可以创建资料档案库了。事实上,这些新的档案库存储数据在使用了自定义数据格式的文件系统中。这些档案库并不会受到“契形”(wedging)的影响,同样地,不能向存储在BerkeleyDB的档案库那样容易测试。参考章节“Repository Data-Stores”。

1.6.2

Symbolic link versioning

如今Unix用户可以创建符号化链接(symbolic links)并通过svn add命令将其放置在版本控制中。参考章节“svn:special”。

1.6.3

客户端跟踪复制和重命名

文件和目录的分支(备份)维护历史与它们的数据源相链接,但是在Subversion

1.0中仅有svn log能跟踪复制/重命名历史。而其他像svn diff、svn merge、svn list或svn cat都不行。在Subversion 1.1中,当检测到文件或目录的老版本时所有的客户端子命令都能通过复制和重命名历史反向追踪(trace backwards)。

1.6.4

客户端URIs和IRIs的自动避免

在Subversion 1.0 命令行客户端中,用户必须手动退出URLs。客户端仅仅接受“严格正确”的URLs,如http://host/path%20with%20space/project/espa%F1a。Subversion 1.1 命令行客户端现在能做到网页浏览器很久之前就能做到的URL识别:在用户通过引用指定URL的时候,它能通过shell:"http://host/path

with space/project/espa?a"重指定的受限字符自动避免字符像空格和重音符。

1.6.5

本地化的用户消息

现在Subversion 1.1通过gettext()展示解析错误、报告和帮助信息给用户。目前有德语、西班牙语、波兰语、瑞典语、繁体中文、日语、葡萄牙语和挪威语。想要本地化Subversion客户端,只需要设置您的shell LAND 环境变量来支持本地变量值(例如,de_DE)。

1.6.6

共享工作副本

以前存在的当多用户共享同一工作副本时的许可问题现在已经得到了修正。

1.6.7

密码存储运行期变量

这是一个新的运行期变量,用来屏蔽密码缓存到cach,所以服务器认证仍然可以缓存到cach。参考章节“Config”。

1.6.8

优化和修复bug

svn

checkout、svn update、svn status和svn blame命令运行得更快了。超过50个小的bug得到了修正,所有这些都能在Subversion项目中CHANGES文件(http://svn.collab.net/repos/svn/trunk/CHANGES)中得到描述。

1.6.9

新的命令参数

svn blame --verbose: 参考 svn blame.

svn export --native-eol EOL: 参考 svn export.

svn add --force: 参考 svn add.

svnadmin dump --deltas: 参考章节

“Migrating a Repository”.

svnadmin create --fs-type TYPE: 参考 svnadmin create.

svnadmin recover --wait: 参考 svnadmin recover.

svnserve --tunnel-user=NAME: 参考章节

“svnserve Switches”。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有