没有合适的资源?快使用搜索试试~ 我知道了~
首页Subversion权威指南:1.5版中文版
Subversion权威指南:1.5版中文版
需积分: 35 1 下载量 103 浏览量
更新于2024-07-24
收藏 2.38MB PDF 举报
"svnbook-1.5-final-zh" 是一本关于Subversion 1.5的中文权威指南,由Ben Collins-Sussman、Brian W. Fitzpatrick和C. Michael Pilato合著。这本书详细介绍了Subversion的基本概念和实践操作,包括版本库管理、版本控制模型、Subversion的组件以及新特性。
Subversion是一个开源的版本控制系统,用于管理和跟踪文件和目录的变更历史。在介绍Subversion时,书中强调了它作为一种正确的工具,适用于团队协作和项目管理。Subversion的历史始于对CVS( Concurrent Versions System)的改进,其设计目标是提供一种更安全、更易于使用的版本控制解决方案。Subversion采用“拷贝-修改-合并”的版本模型,解决了传统“锁定-修改-解锁”模式中的一些问题,如并发编辑冲突。
在基本概念部分,书中阐述了版本库的概念,它是存储所有版本化数据的地方。版本模型中解释了Subversion如何处理文件共享问题,以及为什么选择了“拷贝-修改-合并”策略。工作副本是用户在本地的工作空间,它与版本库保持同步,通过修订版本来追踪版本库中的变化。混合修订版本的工作副本允许用户同时处理多个版本库的不同修订版本。
关于实际使用,书中涵盖了从导入数据到版本库、初始化检出、日常开发工作循环,如更新、修改、检查、取消本地修改、解决冲突和提交。此外,还介绍了查看历史记录,包括列出修改历史、查看详细信息、浏览版本库以及获取特定版本的快照。对于维护工作副本的整洁,书中提到了清理功能,帮助用户处理未版本化的文件和临时文件。
"svnbook-1.5-final-zh" 是一个全面的指南,适合初学者和经验丰富的Subversion用户,旨在帮助他们更好地理解和利用Subversion进行版本控制和团队协作。通过深入学习,读者可以掌握Subversion的核心概念和操作,提升工作效率,并有效管理项目源代码的变更历史。
序言
xvi
第
7
章
定制你的
Subversion
体验
研究了
Subversion
的客户端配置文件,对国际化字符的处理,以及
Subversion
如何与外置工
具交互。
第
8
章
嵌入
Subversion
Describes the internals of Subversion, the Subversion filesystem, and the working copy
administrative areas from a programmer's point of view. It also demonstrates how to use the public
APIs to write a program that uses Subversion.
第
9
章
Subversion
完全参考
以大量的实例,详细描述了
svn
、
svnadmin
和
svnlook
的所有子命令。
附录
A, Subversion
快速入门指南
因为缺乏耐心,我们会立刻解释如何安装和使用Subversion,我们已经告诉你了。
附录
B, CVS
用户的
Subversion
指南
详细比较了
Subversion
与
CVS
的异同,并针对如何消除多年使用
CVS
养成的坏习惯提出建
议。内容包括
Subversion
修订版本号、版本化的目录、离线操作、
update
与
status
的对比、
分支、标签、元数据、冲突处理和认证。
附录
C, WebDAV
和自动版本
描述了
WebDAV
与
DeltaV
的细节,并介绍了如何将
Subversion
版本库作为可读/写的
DAV
共
享装载。
附录
D,
版权
A copy of the Creative Commons Attribution License, under which this book is licensed.
5.
本书是免费的
This book started out as bits of documentation written by Subversion project developers, which were
then coalesced into a single work and rewritten. As such, it has always been under a free license (see
附录
D,
版权
). In fact, the book was written in the public eye, originally as part of the Subversion
project itself. This means two things:
•
总可以在
Subversion
的版本库里找到本书的最新版本。
• You can make changes to this book and redistribute it however you wish—it's under a free license.
Your only obligation is to maintain proper attribution to the original authors. Of course, we'd much
rather you send feedback and patches to the Subversion developer community, instead of distributing
your private version of this book.
The online home of this book's development and most of the volunteer-driven translation efforts
regarding it is http://svnbook.red-bean.com. There you can find links to the latest releases
and tagged versions of the book in various formats, as well as instructions for accessing the book's
Subversion repository (where its DocBook XML source code lives). Feedback is welcomed—
encouraged, even. Please submit all comments, complaints, and patches against the book sources to
<svnbook-dev@red-bean.com>.
序言
xvii
6.
致谢
没有
Subversion
就不可能有(即使有也没什么价值)这本书。所以作者衷心感谢
Brian Behlendorf
和CollabNet,他们独到的眼光开创了这个充满冒险但雄心勃勃的开源项目;
Jim Blandy
贡献
了
Subversion
最初的名字和设计
—
我们爱你,Jim。还有
Karl
Fogel,一个好朋友和伟大的社
区领袖。
1
Thanks to O'Reilly and our various editors: Chuck Toporek, Linda Mui, Tatiana Apandi, Mary Brady,
and Mary Treseler. Their patience and support has been tremendous.
Finally, we thank the countless people who contributed to this book with informal reviews, suggestions,
and patches. While this is undoubtedly not a complete list, this book would be incomplete and
incorrect without their help: Bhuvaneswaran A, David Alber, C. Scott Ananian, David Anderson,
Ariel Arjona, Seth Arnold, Jani Averbach, Charles Bailey, Ryan Barrett, Francois Beausoleil, Brian
R. Becker, Yves Bergeron, Karl Berry, Jennifer Bevan, Matt Blais, Jim Blandy, Phil Bordelon, Sietse
Brouwer, Tom Brown, Zack Brown, Martin Buchholz, Paul Burba, Sean Callan-Hinsvark, Branko
Cibej, Archie Cobbs, Jason Cohen, Ryan Cresawn, John R. Daily, Peter Davis, Olivier Davy, Robert P.
J. Day, Mo DeJong, Brian Denny, Joe Drew, Markus Dreyer, Nick Duffek, Boris Dusek, Ben Elliston,
Justin Erenkrantz, Jens M. Felderhoff, Kyle Ferrio, Shlomi Fish, Julian Foad, Chris Foote, Martin
Furter, Vlad Georgescu, Peter Gervai, Dave Gilbert, Eric Gillespie, David Glasser, Marcel Gosselin,
Lieven Govaerts, Steve Greenland, Matthew Gregan, Tom Gregory, Maverick Grey, Art Haas, Mark
E. Hamilton, Eric Hanchrow, Liam Healy, Malte Helmert, Michael Henderson, Øyvind A. Holm,
Greg Hudson, Alexis Huxley, Auke Jilderda, Toby Johnson, Jens B. Jorgensen, Tez Kamihira, David
Kimdon, Mark Benedetto King, Robert Kleemann, Erik Kline, Josh Knowles, Andreas J. Koenig,
Axel Kollmorgen, Nuutti Kotivuori, Kalin Kozhuharov, Matt Kraai, Regis Kuckaertz, Stefan Kueng,
Steve Kunkee, Scott Lamb, Wesley J. Landaker, Benjamin Landsteiner, Vincent Lefevre, Morten
Ludvigsen, Dennis Lundberg, Paul Lussier, Bruce A. Mah, Jonathon Mah, Karl Heinz Marbaise, Philip
Martin, Feliciano Matias, Neil Mayhew, Patrick Mayweg, Gareth McCaughan, Craig McElroy, Simon
McKenna, Christophe Meresse, Jonathan Metillon, Jean-Francois Michaud, Jon Middleton, Robert
Moerland, Marcel Molina Jr., Tim Moloney, Alexander Mueller, Tabish Mustufa, Christopher Ness,
Roman Neuhauser, Mats Nilsson, Greg Noel, Joe Orton, Eric Paire, Dimitri Papadopoulos-Orfanos,
Jerry Peek, Chris Pepper, Amy Lyn Pilato, Kevin Pilch-Bisson, Hans Polak, Dmitriy Popkov, Michael
Price, Mark Proctor, Steffen Prohaska, Daniel Rall, Srinivasa Ramanujan, Jack Repenning, Tobias
Ringstrom, Jason Robbins, Garrett Rooney, Joel Rosdahl, Christian Sauer, Ryan Schmidt, Jochem
Schulenklopper, Jens Seidel, Daniel Shahaf, Larry Shatzer, Danil Shopyrin, Erik Sjoelund, Joey Smith,
W. Snyder, Stefan Sperling, Robert Spier, M. S. Sriram, Russell Steicke, David Steinbrunner, Sander
Striker, David Summers, Johan Sundstroem, Ed Swierk, John Szakmeister, Arfrever Frehtes Taifersar
Arahesis, Robert Tasarz, Michael W. Thelen, Mason Thomas, Erik van der Kolk, Joshua Varner, Eric
Wadsworth, Chris Wagner, Colin Watson, Alex Waugh, Chad Whitacre, Andy Whitcroft, Josef Wolf,
Luke Worth, Hyrum Wright, Blair Zajac, Florian Zumbiehl, and the entire Subversion community.
6.1.
来自
Ben Collins-Sussman
Thanks to my wife Frances, who, for many months, got to hear “But honey, I'm still working on the
book,” rather than the usual “But honey, I'm still doing email.” I don't know where she gets all that
patience! She's my perfect counterbalance.
1
噢,还要感谢
Karl
为了本书所付出的辛勤工作。
序言
xviii
Thanks to my extended family and friends for their sincere encouragement, despite having no actual
interest in the subject. (You know, the ones who say, “Ooh, you wrote a book?” and then when you
tell them it's a computer book, sort of glaze over.)
感谢我身边让我富有的朋友,不要那样看我
—
你们知道你们是谁。
感谢父母对我的低级格式化,和难以置信的角色典范
,感谢儿子给我机会传承这些东西。
6.2.
来自
Brian W. Fitzpatrick
非常非常感谢我的妻子
Marie
的理解,支持和最重要的耐心。感谢引导我学会
UNIX
编程的兄
弟Eric,感谢我的母亲和祖母的支持,对我在圣诞夜里埋头工作的理解。
To Mike and Ben: it was a pleasure working with you on the book. Heck, it's a pleasure working with
you at work!
感谢所有在
Subversion
和
Apache
软件基金会的人们给我机会与你们在一起,没有一天我不从
你们那里学到知识。
Lastly, thanks to my grandfather, who always told me that “freedom equals responsibility.” I couldn't
agree more.
6.3.
来自
C. Michael Pilato
Special thanks to Amy, my best friend and wife of more than ten incredible years, for her love and
patient support, for putting up with the late nights, and for graciously enduring the version control
processes I've imposed on her. Don't worry, sweetheart—you'll be a TortoiseSVN wizard in no time!
Gavin, you're able to read half of the words in this book yourself now; sadly, it's the other half that
provide the key concepts. And sorry, Aidan — I couldn't find a way to work Disney/Pixar characters
into the text. But Daddy loves you both, and can't wait to teach you about programming.
妈妈和爸爸,感谢你们的支持和热情,岳父岳母,以同样的理由感谢你们,还要感谢你们难
以置信的女儿。
Hats off to Shep Kendall, through whom the world of computers was first opened to me; Ben Collins-
Sussman, my tour guide through the open source world; Karl Fogel, you are my .emacs; Greg Stein,
for oozing practical programming know-how; and Brian Fitzpatrick, for sharing this writing experience
with me. To the many folks from whom I am constantly picking up new knowledge—keep dropping it!
最后,对所有为我展现完美卓越创造力的人们
—
感谢。
7. Subversion
是什么?
Subversion
是一个自由/开源的版本控制系统。也就是说,在
Subversion
管理下,文件和目录可
以超越时空。也就是
Subversion
允许你数据恢复到早期版本,或者是检查数据修改的历史。正
因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。
序言
xix
Subversion
的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程
度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。因为修改不
再是单线进行,开发速度会更快。此外,由于所有的工作都已版本化,也就不必担心由于错
误的更改而影响软件质量
—
如果出现不正确的更改,只要撤销那一次更改操作即可。
某些版本控制系统本身也是软件配置管理
(SCM)
系统,这种系统经过精巧的设计,专门用来
管理源代码树,并且具备许多与软件开发有关的特性
—
比如,对编程语言的支持,或者提供
程序构建工具。不过
Subversion
并不是这样的系统。它是一个通用系统,可以管理
任何
类型的
文件集。对你来说,这些文件这可能是源程序
—
而对别人,则可能是一个货物清单或者是数
字电影。
7.1. Subversion
是正确的工具吗?
如果你是一个考虑如何使用
Subversion
的用户或管理员,你要问自己的第一件事就是:
"这是
这项工作的正确工具吗?",Subversion是一个梦幻般的锤子,但要小心不要把任何问题当
作钉子。
If you need to archive old versions of files and directories, possibly resurrect them, or examine logs
of how they've changed over time, then Subversion is exactly the right tool for you. If you need to
collaborate with people on documents (usually over a network) and keep track of who made which
changes, then Subversion is also appropriate. This is why Subversion is so often used in software
development environments— working on a development team is an inherently social activity, and
Subversion makes it easy to collaborate with other programmers. Of course, there's a cost to using
Subversion as well: administrative overhead. You'll need to manage a data repository to store the
information and all its history, and be diligent about backing it up. When working with the data on a
daily basis, you won't be able to copy, move, rename, or delete files the way you usually do. Instead,
you'll have to do all of those things through Subversion.
假定你能够接受额外的工作流程,你一定要确定不要使用
Subversion
来解决其他工具能够完成
的很好的工作。例如,因为
Subversion
会复制所有的数据到参与者,一个常见的误用是将其作
为普通的分布式系统。问题是此类数据通常很少修改,在这种情况下,使用
Subversion
有
点“过了”。
2
有一些可以复制数据更简单的工具,没有必要过度的跟踪变更,例
如
rsync
或
unison
。
7.2. Subversion
的历史
早在
2000
年,CollabNet,
Inc. (http://www.collab.net)
就开始寻找
CVS
替代产品的开发
人员。CollabNet提供了一个名为
CollabNet
企业版
(CEE)
的协作软件套件。这个软件套件的一
个组成部分就是版本控制系统。尽管
CEE
在最初采用了
CVS
作为其版本控制系统,但是
CVS
的局限性从一开始就很明显,CollabNet知道,迟早要找到一个更好的替代品。遗憾的
是,CVS已经成为开源世界事实上的标准,很大程度上是因为
没有
更好的替代品,至少是没
有可以自由使用的替代品。所以
CollabNet
决定从头编写一个新的版本控制系统,这个系统保
留
CVS
的基本思想,但是要修正其中错误和不合理的特性。
In February 2000, they contacted Karl Fogel, the author of Open Source Development with CVS
(Coriolis, 1999), and asked if he'd like to work on this new project. Coincidentally, at the time Karl
2
或者像一个朋友说的,“用别克拍苍蝇。”
序言
xx
was already discussing a design for a new version control system with his friend Jim Blandy. In 1995,
the two had started Cyclic Software, a company providing CVS support contracts, and although they
later sold the business, they still used CVS every day at their jobs. Their frustration with CVS had led
Jim to think carefully about better ways to manage versioned data, and he'd already come up with not
only the name “Subversion,” but also the basic design of the Subversion data store. When CollabNet
called, Karl immediately agreed to work on the project, and Jim got his employer, Red Hat Software,
to essentially donate him to the project for an indefinite period of time. CollabNet hired Karl and
Ben Collins-Sussman, and detailed design work began in May 2000. With the help of some well-
placed prods from Brian Behlendorf and Jason Robbins of CollabNet, and from Greg Stein (at the time
an independent developer active in the WebDAV/DeltaV specification process), Subversion quickly
attracted a community of active developers. It turned out that many people had encountered the same
frustrating experiences with CVS and welcomed the chance to finally do something about it.
最初的设计小组设定了简单的开发目标。他们不想在版本控制方法学中开垦处女地,他们只
是希望修正CVS。他们决定
Subversion
应符合
CVS
的特性,并保留相同的开发模型,但不再重
复
CVS
的一些显著缺陷。尽管
Subversion
并不需要成为
CVS
的完全替代品,但它应该与
CVS
保
持足够的相似性,以使
CVS
用户可以轻松的转移到
Subversion
上。
经过
14
个月的编码,2001年
8
月
31
日,Subversion能够“自己管理自己”了,开发者停止使
用
CVS
保存
Subversion
的代码,而使用
Subversion
本身。
虽然
CollabNet
启动了这个项目,并且一直提供了大量的工作支持(它为一些全职的
Subversion
开发者提供薪水),但
Subversion
像其它许多开源项目一样,被松散的、透明的规则管理着,
这样的规则激励着知识界的精英们。CollabNet的版权许可证完全符合
Debian
的自由软件方
针。也就是说,任何人都可以根据自己的意愿自由的下载、修改和重新发布Subversion,不
需要
CollabNet
或其他人的授权。
7.3. Subversion
的架构
图
1 “Subversion
的架构”给出了
Subversion
设计总体上的“俯视图”。
剩余438页未读,继续阅读
zhangqiaoqiao123
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 明日知道社区问答系统设计与实现-SSM框架java源码分享
- Unity3D粒子特效包:闪电效果体验报告
- Windows64位Python3.7安装Twisted库指南
- HTMLJS应用程序:多词典阿拉伯语词根检索
- 光纤通信课后习题答案解析及文件资源
- swdogen: 自动扫描源码生成 Swagger 文档的工具
- GD32F10系列芯片Keil IDE下载算法配置指南
- C++实现Emscripten版本的3D俄罗斯方块游戏
- 期末复习必备:全面数据结构课件资料
- WordPress媒体占位符插件:优化开发中的图像占位体验
- 完整扑克牌资源集-55张图片压缩包下载
- 开发轻量级时事通讯活动管理RESTful应用程序
- 长城特固618对讲机写频软件使用指南
- Memry粤语学习工具:开源应用助力记忆提升
- JMC 8.0.0版本发布,支持JDK 1.8及64位系统
- Python看图猜成语游戏源码发布
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功