使用Subversion进行版本控制

来源:百度文库 编辑:神马文学网 时间:2024/04/24 14:52:35

针对 Subversion 1.1
(本书编译对应1337修订号)
Ben Collins-Sussman
Brian W. Fitzpatrick
C. Michael Pilato
版权 © 2002, 2003, 2004, 2005 Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato
(TBA)
目录
前言序言读者怎样阅读本书本书约定排版习惯图标
本书组织结构Subversion 1.1的新特性这本书是免费的致谢来自Ben Collins-Sussman来自Brian W. Fitzpatrick来自C. Michael Pilato
1. 介绍Subversion是什么?Subversion的历史Subversion的特性Subversion的架构安装SubversionSubversion的组件快速入门
2. 基本概念版本库版本模型文件共享的问题锁定-修改-解锁 方案拷贝-修改-合并 方案
Subversion实战工作拷贝修订版本工作拷贝怎样追踪版本库修订版本混合的限制
总结
3. 指导教程帮助!导入修订版本: 版本号、关键字和日期,噢,哎呀!修订版本号修订版本关键字修订版本日期
初始化的Checkout基本的工作周期更新你的工作拷贝修改你的工作拷贝检查你的变化svn statussvn diffsvn revert
解决冲突(合并别人的修改)手工合并冲突拷贝覆盖你的工作文件下注:使用svn revert
提交你得修改
检验历史svn logsvn diff比较本地修改比较工作拷贝和版本库比较版本库与版本库
svn catsvn list关于历史的最后一个词
其他有用的命令svn cleanupsvn import
摘要
4. 分支与合并什么是分支?使用分支创建分支在分支上工作分支后面的关键概念
在分支间拷贝修改拷贝特定的修改合并背后的关键概念合并的最佳实践手工追踪合并预览合并合并冲突关注还是忽视祖先
常见用例合并一条分支到另一支取消修改找回删除的项目常用分支模式发布分支特性分支
转换工作拷贝标签建立最简单的标签建立复杂的标签
分支维护版本库布局数据的生命周期
摘要
5. 版本库管理版本库基本知识理解事务和修订版本未受版本控制的属性版本库数据存储Berkeley DBFSFS
版本库的创建和配置钩子脚本Berkeley DB 设置
版本库维护管理员的工具箱svnlooksvnadminsvndumpfiltersvnshell.pyBerkeley DB工具
版本库清理管理磁盘空间版本库的恢复版本库的移植版本库备份
添加项目选择一种版本库布局创建布局,导入初始数据
总结
6. 配置服务器概述网络模型请求和响应客户端凭证缓存
svnserve,一个自定义的服务器调用服务器内置的认证和授权创建一个用户文件和域设置访问控制
SSH认证和授权SSH配置技巧初始设置控制调用的命令
httpd,Apache的HTTP服务器必备条件基本的Apache配置认证选项基本HTTP认证SSL证书管理
授权选项整体访问控制每目录访问控制关闭路径为基础的检查
额外的糖果版本库浏览其它特性
支持多种版本库访问方法
7. 高级主题运行配置区配置区布局配置和Windows注册表配置选项服务器config
属性为什么是属性?处理属性特别属性svn:executablesvn:mime-typesvn:ignoresvn:keywordssvn:eol-stylesvn:externalssvn:special
自动属性设置
Peg and Operative Revisions外部定义卖主分支常规的卖主分支管理过程svn_load_dirs.pl
本地化理解位置Subversion对位置的使用
Subversion版本库URL
8. 开发者信息分层的库设计版本库层版本库访问层RA-DAV(使用HTTP/DAV版本库访问)RA-SVN(自定义协议版本库访问)RA-Local(直接版本库访问)你的RA库在这里
客户端层
使用APIApache便携运行库URL和路径需求使用C和C++以外的语言
进入工作拷贝的管理区条目文件原始拷贝和属性文件
WebDAV使用内存池编程为Subversion做贡献加入社区取得源代码开始熟悉社区政策作出修改并测试捐赠你的修改
9. Subversion完全参考Subversion命令行客户端:svnsvn选项svn子命令svn addsvn blamesvn catsvn checkoutsvn cleanupsvn commitsvn copysvn deletesvn diffsvn exportsvn helpsvn importsvn infosvn listsvn logsvn mergesvn mkdirsvn movesvn propdelsvn propeditsvn propgetsvn proplistsvn propsetsvn resolvedsvn revertsvn statussvn switchsvn update
svnadminsvnadmin Switchessvnadmin Subcommandssvnadmin createsvnadmin deltifysvnadmin dumpsvnadmin helpsvnadmin hotcopysvnadmin list-dblogssvnadmin list-unused-dblogssvnadmin loadsvnadmin lstxnssvnadmin recoversvnadmin rmtxnssvnadmin setlogsvnadmin verify
svnlooksvnlook Switchessvnlooksvnlook authorsvnlook catsvnlook changedsvnlook datesvnlook diffsvnlook dirs-changedsvnlook helpsvnlook historysvnlook infosvnlook logsvnlook propgetsvnlook proplistsvnlook treesvnlook uuidsvnlook youngest
svnservesvnserve选项
svnversionsvnversion
mod_dav_svnmod_dav_svn Configuration Directives
A. Subversion for CVS Users修订版本号现在不同了目录的版本更多离线操作区分状态和更新分支和标签元数据属性冲突解决二进制文件和转化版本化的模块认证转化CVS版本库到Subversion
B. 故障解决共同问题使用Subversion的问题每当我尝试访问版本库,我的Subversion客户端挂起。每当我尝试运行svn,它告诉我工作拷贝已经锁定。 我在查找和打开版本库时得到错误,而我知道我的版本库URL是正确的。 我怎样在file://的URL中指定一个Windows驱动器盘符? 通过网络对Subversion版本库进行写操作发生问题。 在Windows XP下,Subversion服务器有时候看起来发送损坏的数据。 跟踪Subversion客户端和Apache服务器通话最好的方法是什么? 我刚刚编译了二进制分发版本,当我尝试检出Subversion,我得到一个“Unrecognized URL scheme”错误。为什么svn revert命令要有一个明确的目标?为什么缺省不是递归的?它的行为方式与大多数其它子命令不同。 当我启动Apache,mod_dav_svn抱怨说发现一个“bad database version”,它发现了db-3.X而不是db-4.X。 我在RedHat 9得到“Function not implemented”错误,无法工作,我如何修正这个问题? 为什么日志说通过Apache(ra_dav)提交或导入的文件“(no author)”? 我偶然在Windows得到“Access Denied”错误,它们看起来随即出现。 在FreeBSD,某些操作(特别是svnadmin create)有时会挂起。 我可以在web浏览器看到我的版本库,但是svn checkout给我一个301 Moved Permanently错误。 我尝试察看我的文件的一个老版本,但是svn告诉我“path not found”。
C. WebDAV和自动版本化WebDAV基本概念仅是平常的WebDAVDeltaV扩展
Subversion和DeltaV影射Subversion到DeltaV自动版本化支持选择mod_dav_lock
自动版本化交互性Win32网络文件夹Mac OS XUnix: Nautilus 2Linux davfs2
D. Third Party Tools客户端和插件语言绑定版本库转化Higher Level Tools版本库浏览工具
术语表E. Copyright
插图清单
1.1.Subversion的架构 2.1.一个典型的客户/服务器系统 2.2.需要避免的问题 2.3.锁定-修改-解锁 方案 2.4.拷贝-修改-合并 方案 2.5.拷贝-修改-合并 方案(续) 2.6.版本库的文件系统 2.7.版本库 4.1.分支开发 4.2.开始规划版本库 4.3.拷贝后的版本库 4.4.一个文件的分支历史 8.1.二维的文件目录 8.2.版本时间—第三维!
表格清单
2.1.版本库访问URL 5.1.版本库数据存储对照表 6.1.网络服务器比较 8.1.Subversion库的摘要目录
范例清单
5.1.使用svnshell浏览版本库 5.2.txn-info.sh(异常事务报告) 6.1.匿名访问的配置实例。 6.2.A sample configuration for authenticated access. 6.3.一个混合认证/匿名访问的配置实例。 6.4.Disabling path checks altogether 7.1.注册表条目(.reg)样本文件。 8.1.使用版本库层 8.2.使用Python处理版本库层 8.3.A Simple Script to Check Out a Working Copy. 8.4.典型的.svn/entries文件内容 8.5.有效地池使用
_xyz