This text is a work in progress—highly subject to change—and may not accurately describe any released version of the Apache™ Subversion® software. Bookmarking or otherwise referring others to this page is probably not such a smart idea. Please visit http://www.svnbook.com/ for stable versions of this book.

目标听众

本书是为了那些在计算机领域有着丰富知识, 并且希望使用 Subversion 管理数据的读者准备的. 尽管 Subversion 可以在多种不同的操作系统上运行, 但是它的主要用户界面是基于命令行的, 所以本书主要讨论 Subversion 的 命令行工具 (svn) 和其他一些辅助工具.

为方便讨论, 本书的例子假设读者使用的是类 Unix 操作系统, 并且熟悉 Unix 和命令行界面, 当然, svn 也可以在非 Unix 平台上 运行, 例如 Microsoft Windows. 除了一些微小的差别 (例如在路径中使用 反斜杠 (\)—而不是斜杠 (/) —作为分隔符), 在 Windows 上运行 svn 的输入 和输出与在 Unix 平台上运行完全一致.

本书的大多数读者应该是那些需要管理代码变化的程序员或系统管理员, 这也是 Subversion 最普遍的用途, 因此本书的例子主要关注源代码文件, 但是 Subversion 可以对任意类型的文件进行版本控制—图片, 音频, 数据库, 文档等, 对 Subversion 而言, 任意类型的数据也只是数据而已.

本书假定读者没有使用过版本控制工具, 我们同时也尽了最大的努力, 让 CVS (或其他版本控制系统) 用户可以轻松地过渡到 Subversion. 边栏可能会时不时 地介绍一些和 CVS 相关的内容, 附录 B, 针对 CVS 用户的 Subversion 介绍 总结了 Subversion 和 CVS 的区别.

另外需要注意的是书中的源代码示例仅仅是例子而已, 虽然它们可以被 编译器编译通过, 但列举它们只是为了说明问题, 并非为了展示优秀的编程 风格.