使用Subversion进行版本控制

http://www.subversion.org.cn/svnbook/1.4/index.html

针对 Subversion 1.4(根据r2866编译)

Ben Collins-Sussman

Brian W. Fitzpatrick

C. Michael Pilato

版权 © 2002, 2003, 2004, 2005, 2006, 2007 Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato

本作品使用共同创造许可证,可以访问http://creativecommons.org/licenses/by/2.0/或发送邮件到Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.查看本许可证。

(TBA)


目录

前言
序言
读者
怎样阅读本书
本书约定
排版习惯
图标
本书的结构
本书是免费的
致谢
来自 Ben Collins-Sussman
来自 Brian W. Fitzpatrick
来自 C. Michael Pilato
Subversion是什么?
Subversion的历史
Subversion的特性
Subversion的架构
Subversion的组件
1. 基本概念
版本库
版本模型
文件共享的问题
锁定-修改-解锁 方案
拷贝-修改-合并 方案
Subversion实践
Subversion版本库URL
工作拷贝
修订版本
工作拷贝怎样跟踪版本库
混合修订版本的工作拷贝
总结
2. 基本使用
求助!
导入数据到你的版本库
svn import
推荐的版本库布局
初始化检出
禁用密码缓存
用其它身份认证
基本的工作周期
更新你的工作拷贝
修改你的工作拷贝
检查你的修改
取消本地修改
解决冲突(合并别人的修改)
提交你的修改
检验历史
产生历史修改列表
检查历史修改的详情
浏览版本库
获得旧的版本库快照
有时你只需要清理
总结
3. 高级主题
版本清单
修订版本关键字
版本日期
属性
为什么需要属性?
操作属性
属性和 Subversion 工作流程
自动设置属性
文件移植性
文件内容类型
文件的可执行性
行结束字符串
忽略未版本控制的条目
关键字替换
锁定
创建锁定
发现锁定
解除和偷窃锁定
锁定交流
外部定义
Peg和实施修订版本
网络模型
请求和响应
客户端凭证缓存
4. 分支与合并
什么是分支?
使用分支
创建分支
在分支上工作
分支背后的关键概念
在分支间复制修改
复制特定的修改
合并背后的关键概念
合并的最佳实践
常见用例
合并分支到另一分支
取消修改
找回删除的项目
常用分支模式
使用分支
标签
建立简单标签
建立复杂标签
分支维护
版本库布局
数据的生命周期
供方分支
常规的供方分支管理过程
svn_load_dirs.pl
总结
5. 版本库管理
Subversion 版本库的定义
版本库开发策略
规划你的版本库结构
决定在哪里与如何部署你的版本库
选择数据存储格式
创建和配置你的版本库
创建版本库
实现版本库钩子
Berkeley DB 配置
版本库维护
管理员的工具箱
修正提交消息
管理磁盘空间
Berkeley DB 恢复
版本库数据的移植
过滤版本库历史
版本库复制
版本库备份
总结
6. 服务配置
概述
选择一个服务器配置
svnserve服务器
svnserve使用SSH通道
Apache 的 HTTP 服务器
推荐
svnserve,一个自定义的服务器
调用服务器
内置的认证和授权
SSH 隧道
SSH 配置技巧
httpd,Apache的HTTP服务器
先决条件
基本的 Apache 配置
认证选项
授权选项
额外的糖果
基于路径的授权
支持多种版本库访问方法
7. 定制你的Subversion体验
运行配置区
配置区布局
配置和Windows注册表
配置选项
本地化
理解地区
Subversion对区域设置的支持
使用外置比较工具
外置 diff
外置 diff3
8. 嵌入Subversion
分层的库设计
版本库层
版本库访问层
客户端层
进入工作拷贝的管理区
条目文件
原始拷贝和属性文件
使用API
Apache可移植运行库
URL 和路径需求
使用 C 和 C++ 以外的语言
代码样例
9. Subversion 完全参考
Subversion 命令行客户端:svn
svn选项
svn子命令
svnadmin
svnadmin选项
svnadmin子命令
svnlook
svnlook选项
svnlook子命令
svnsync
svnsync选项
svnsync子命令
svnserve
svnserve选项
svnversion
mod_dav_svn
Subversion属性
版本控制的属性
未版本控制的属性
版本库钩子
A. Subversion 快速入门指南
安装 Subversion
快速指南
B. CVS用户的Subversion指南
版本号现在不同了
目录的版本
更多离线操作
区分状态和更新
状态
更新
分支和标签
元数据属性
解决冲突
二进制文件和行结束标记转换
版本化的模块
认证
迁移CVS版本库到Subversion
C. WebDAV和自动版本
什么是WebDAV ?
自动版本化
客户端交互性
独立的 WebDAV 应用程序
文件浏览器 WebDAV 扩展
WebDAV文件系统实现
D. 第三方工具
E. Copyright
索引

表格清单

1.1.
5.1.
6.1.
C.1.

[转]使用Subversion进行版本控制的更多相关文章

  1. 使用Subversion进行版本控制

    使用Subversion进行版本控制 针对 Subversion 1.4(根据r2866编译) Ben Collins-Sussman Brian W. Fitzpatrick C. Michael  ...

  2. 使用命令行 Subversion 访问项目源文件(SVN)

    from:http://www.open.collab.net/scdocs/ddUsingSVN_command-line.html.zh-cn 命令行 Subversion 入门 如果您参与的项目 ...

  3. Access项目文件的版本控制

    简单记录一下使用MS Access SVN(以下简称AccessSVN)的步骤吧. AccessSVN在http://accesssvn.codeplex.com/,该产品的目的是:Access SV ...

  4. [转]命令行 Subversion 入门

    http://omyyal.iteye.com/blog/1762831 命令行 Subversion 入门 如果您参与的项目正在使用 Subversion 进行版本控制,您将需要使用 Subvers ...

  5. Subversion FAQ(常见问题解答)

    转自:http://subversion.apache.org/faq.zh.html 常见问题: 为什么会有这样一个项目? 为了接管CVS的用户基础.确切的说,我们写了一个新的版本控制系统,它和CV ...

  6. Eclipse下使用Subversion(SVN工具)

    本文目的 让未使用过版本控制器软件或者未使用过subversion软件的人员尽快上手. subversion的使用技巧很多,这里只总结了最小使用集,即主要的基本功能,能够用来应付日常工作. 因此不涉及 ...

  7. 从零开始编写自己的C#框架(24)——测试

    导航 1.前言 2.不堪回首的开发往事 3.测试推动开发的成长——将Bug消灭在自测中 4.关于软件测试 5.制定测试计划 6.编写测试用例 7.执行测试用例 8.发现并提交Bug 9.开发人员修复B ...

  8. 【TortoiseSVN使用教程】

    TortoiseSVN使用教程 TortoiseSVN是一个SVN的客户端 1.Checkout Repository        首 先要Checkout服务器端的Repository,所谓的Ch ...

  9. 代码管理 – SVN

    代码管理工具也用了不少年了,整理下. 管理工具比较 用过VSS,CVS,TFS,SVN还有一个微软内部使用的不记得什么名字了.这里进行一些简单比较,重点介绍SVN的用法. CVS历史悠久,1986年就 ...

随机推荐

  1. java中的Collection集合类

    随着1998年JDK 1.2的发布,同时新增了常用的Collections集合类,包含了Collection和Map接口.而Dictionary类是在1996年JDK 1.0发布时就已经有了.它们都可 ...

  2. Android Stdio 如何自定义生成APK的名称

    Android Stdio自动默认生成的app的名称都是app-release或者app-debug,生成完后还要手动更改apk的名称,很是麻烦. 自定义生成APK的名称的方法:在\app\build ...

  3. C++ 如何获取三个相同数值中的最大值或最小值?

    C++ 如何获取三个相同数值中的最大值或最小值? template<typename T> T Max(T x, T y, T z) { return x > y ? (x > ...

  4. HDU - 3085 双向BFS + 技巧处理 [kuangbin带你飞]专题二

    题意:有两只鬼,一个男孩女孩被困在迷宫中,男孩每秒可以走三步,女孩只能1步,鬼可以两步且可以通过墙.问男孩女孩是否可以在鬼抓住他们之前会合? 注意:每秒开始鬼先移动,然后两人开始移动. 思路:以男孩和 ...

  5. js处理时间戳显示的问题

    function getDate(tm){ ); var year = date.getFullYear(); var month = date.getMonth()+1; var day = dat ...

  6. php基本函数的学习(2)

    chgrp chgrp — 改变文件所属的组 说明: bool chgrp ( string $filename , mixed $group ) 尝试将文件 filename 所属的组改成 grou ...

  7. R︱sparkR的安装与使用、函数尝试笔记、一些案例

    本节内容转载于博客: wa2003 spark是一个我迟早要攻克的内容呀~ ------------------------------------- 一.SparkR 1.4.0 的安装及使用 1. ...

  8. VS2005 添加onTimer定时器

    SetTimer(1,300,NULL); void CchangeDisplayDlg::OnTimer(UINT_PTR nIDEvent) { // TODO: 在此添加消息处理程序代码和/或调 ...

  9. HI3531网络tftp、nfs加载

     ifconfig eth0 hw ether 00:00:23:34:45:66; ifconfig eth0 192.168.1.10 netmask 255.255.255.0; route a ...

  10. 从1.5K到18K,一个程序员的5年成长之路

    原文地址:点击打开链接 168楼朋友批评的很有道理, 虚心接受. 我自己是开始学的时候已经错过了基础课的学习, 现在也是深受其苦的, 面临技术上的瓶颈, 需要花更多的时间补充这些知识. 希望看到此文的 ...