TortoiseSVN

Windows下的一种Subversion客户端

Version 1.5.0

Stefan Küng

Lübbe Onken

Simon Large

译者: Dongsheng Song (dongsheng.song@gmail.com), rocksun (daijun@gmail.com), Stan (thinkernel@yeah.net), xingyu.wang (xingyu.wang@gmail.com), Tan Ruyan (try876@gmail.com), liuheqi (liuheqi@gmail.com), Jaxx_chen (Jaxx.Chen@gmail.com), sunjing (sunjingzhi@gmail.com), kkeric (kkeric@sina.com), lulu2me (lu-liuyun@163.com), yasakya (yasakya@gmail.com), amo (amosir@gmail.com), 主要组织者: http://www.subversion.org.cn和http://www.iUseSVN.com, TSVN翻译专用邮件列表: tsvncn@googlegroups.com, TSVN翻译专用google论坛: http://groups.google.com/group/tsvncn, TSVN翻译专用svn服务器: http://tsvncn.tigris.org/


目录

前言
1. 致读者
2. 阅读指南
3. TortoiseSVN 是完全免费的!
4. 社区
5. 致谢
6. 本文使用的术语
1. 简介
1.1. 什么是 TortoiseSVN?
1.2. TortoiseSVN 的历史
1.3. TortoiseSVN 的特性
1.4. 安装 TortoiseSVN
1.4.1. 系统要求
1.4.2. 安装
1.4.3. 语言包
1.4.4. 拼写检查器
2. 基本概念
2.1. 版本库
2.2. 版本模型
2.2.1. 文件共享的问题
2.2.2. 锁定-修改-解锁 方案
2.2.3. 复制-修改-合并 方案
2.2.4. Subversion 怎么做?
2.3. Subversion 实战
2.3.1. 工作副本
2.3.2. 修订版本
2.3.3. 工作副本怎样跟踪版本库
2.4. 摘要
3. 配置服务器
3.1. 基于 Apache 的服务器
3.1.1. 简介
3.1.2. 安装 Apache
3.1.3. 安装 Subversion
3.1.4. 配置
3.1.5. 多版本库
3.1.6. 路径为基础的授权
3.1.7. 使用 Windows 域认证
3.1.8. 多重认证源
3.1.9. 用 SSL 使服务器更安全
3.2. 基于 svnserve 的服务器
3.2.1. 简介
3.2.2. 安装 svnserve
3.2.3. 运行 svnserve
3.2.3.1. 以服务形式运行 svnserve
3.2.4. svnserve 的认证
3.2.5. 使用 svn+ssh 认证
3.2.6. svnserve 以路径为基础的授权
4. 版本库
4.1. 创建版本库
4.1.1. 使用命令行工具创建版本库
4.1.2. 使用 TortoiseSVN 创建版本库
4.1.3. 本地访问版本库
4.2. 版本库备份
4.3. 钩子脚本
4.4. 检出链接
5. 日常使用指南
5.1. 开始
5.1.1. 图标重载
5.1.2. 右键菜单
5.1.3. 拖放
5.1.4. 常用快捷方式
5.1.5. 认证
5.2. 导入数据到版本库
5.2.1. 版本库布局
5.2.2. 导入
5.2.3. 导入适当的位置
5.2.4. 专用文件
5.2.5. 引用的工程
5.3. 检出工作副本
5.4. 将你的修改提交到版本库
5.4.1. 提交对话框
5.4.2. 修改列表
5.4.3. 提交日志信息
5.4.4. 提交进程
5.5. 用来自别人的修改更新你的工作复本
5.6. 解决冲突
5.7. 获得状态信息
5.7.1. 图标重载
5.7.2. 在 Windows 资源管理器中的 TortoiseSVN 列
5.7.3. 本地与远程状态
5.7.4. 查看差别
5.8. 版本日志对话框
5.8.1. 调用版本日志对话框
5.8.2. 获得更多信息
5.8.3. 获取更多的日志信息
5.8.4. 修改日志消息和作者
5.8.5. 过滤日志信息
5.8.6. 统计信息
5.8.6.1. 统计页
5.8.6.2. 作者提交次数统计页
5.8.6.3. 按日期提交统计页
5.9. 查看差异
5.9.1. 文件差异
5.9.2. 比较文件夹
5.9.3. 使用 TortoiseIDiff 进行比较的图像
5.9.4. 其他的比较/合并工具
5.10. 添加新文件和目录
5.11. 忽略文件和目录
5.11.1. 忽略列表中的模式匹配
5.12. 删除、重命名和移动
5.12.1. 仅在单一实例中重命名文件
5.12.2. 修复文件改名
5.12.3. 删除未版本控制的文件
5.13. 撤消更改
5.14. 清理
5.15. 项目设置
5.15.1. Subversion 属性
5.15.2. TortoiseSVN 属性
5.16. 分支/标记
5.16.1. 创建一个分支或标记
5.16.2. 检出或者切换
5.17. 正在合并
5.17.1. 合并指定版本范围
5.17.2. 合并两个不同的目录树
5.17.3. 预览合并结果
5.17.4. 忽略祖先
5.18. 锁
5.18.1. 锁定在Subverion中是如何工作的
5.18.2. 取得锁定
5.18.3. 释放锁定
5.18.4. 检查锁定状态
5.18.5. 让非锁定的文件变成只读
5.18.6. 锁定钩子脚本
5.19. 创建并应用补丁
5.19.1. 创建一个补丁文件
5.19.2. 应用一个补丁文件
5.20. 谁修改了哪一行?
5.20.1. 追溯文件
5.20.2. 追溯不同点
5.21. 版本库浏览器
5.22. 版本分支图
5.23. 导出一个Subversion工作副本
5.24. 重新定位工作副本
5.25. 与 BUG 跟踪系统/问题跟踪集成
5.26. 与基于 WEB 的版本库浏览器集成
5.27. TortoiseSVN的设置
5.27.1. 常规设置
5.27.2. 外观与样式设置
5.27.2.1. 图标叠加设置
5.27.2.2. 图标集选择
5.27.2.3. TSVN对话框设置一
5.27.2.4. TSVN对话框设置二
5.27.2.5. TortoiseSVN 颜色设置
5.27.3. 网络设置
5.27.4. 外部程序设置
5.27.4.1. 差异查看器
5.27.4.2. 合并工具
5.27.4.3. 差异查看/合并工具的高级设置
5.27.4.4. 统一的差异查看器
5.27.5. 已保存数据的设置
5.27.6. 注册表设置
5.27.7. Subversion 的工作文件夹
5.27.8. 钩子脚本
5.28. 最后步骤
6. SubWCRev 程序
6.1. SubWCRev 命令行
6.2. 关键字替换
6.3. 关键字例子
A. 常见问题(FAQ)
B. 如何实现 …
B.1. 一次移动或复制多个文件
B.2. 强制用户写日志
B.2.1. 服务器端的钩子脚本(Hook-script)
B.2.2. 工程(Project)属性
B.3. 从版本库里更新选定的文件到本地
B.4. 回滚版本库里的版本
B.4.1. 使用版本日志对话框
B.4.2. 使用合并对话框
B.4.3. 使用 svndumpfilter
B.5. 比较一个文件的两个版本
B.6. 包含一个普通的子项目
B.6.1. 使用 svn:externals
B.6.2. 使用嵌套工作副本
B.6.3. 使用相对位置
B.7. 创建到版本库的快捷方式
B.8. 忽略已经版本控制的文件
C. 管理员
C.1. 通过组策略部署 TortoiseSVN
C.2. 重定向升级检查
C.3. 设置 SVN_ASP_DOT_NET_HACK 环境变量
D. TortoiseSVN 操作
D.1. TortoiseSVN 命令
E. 命令行交叉索引
E.1. 约定和基本规则
E.2. TortoiseSVN 命令
E.2.1. 检出
E.2.2. 更新
E.2.3. 更新到版本
E.2.4. 提交
E.2.5. 差异
E.2.6. 显示日志
E.2.7. 检查所作的修改
E.2.8. 版本图
E.2.9. 版本库浏览器
E.2.10. 编辑冲突
E.2.11. 已解决
E.2.12. 改名
E.2.13. 删除
E.2.14. 恢复
E.2.15. 清理
E.2.16. 获得锁
E.2.17. 释放锁
E.2.18. 分支/标记
E.2.19. 切换
E.2.20. 合并
E.2.21. 输出
E.2.22. 重新定位
E.2.23. 在当前位置创建版本库
E.2.24. 添加
E.2.25. 导入
E.2.26. 追溯
E.2.27. 加入忽略列表
E.2.28. 创建补丁
E.2.29. 应用补丁(Apply Patch)
术语表
索引

插图清单

2.1. 一个典型的客户/服务器系统
2.2. 需要避免的问题
2.3. 锁定-修改-解锁 方案
2.4. 复制-修改-合并 方案
2.5. 复制-修改-合并 方案(续)
2.6. 版本库的文件系统
2.7. 版本库
4.1. 未版本控制文件夹的 TortoiseSVN 菜单
5.1. 显示重载图标的资源管理器
5.2. 版本控制下一个目录的右键菜单
5.3. 在一个版本控制的文件夹下资源管理器文件菜单中的快捷方式。
5.4. 版本控制下的一个目录的右键拖拽菜单
5.5. 认证对话框
5.6. 导入对话框
5.7. 检出对话框
5.8. 提交对话框
5.9. 带有修改列表的提交对话框
5.10. 提交对话框的拼写检查器
5.11. 显示提交进度的进度对话框
5.12. 已经完成更新的进度对话框
5.13. 显示重载图标的资源管理器
5.14. 检查所作的修改
5.15. 版本日志对话框
5.16. 版本日志对话框的顶部面板的右键菜单
5.17. 选种两个版本的顶部面板的右键菜单
5.18. 日志对话框的底部面板的右键菜单
5.19. 作者提交次数统计柱状图
5.20. 按日期提交统计图
5.21. 修订版本版本比较对话框
5.22. 差异察看器截图
5.23. 未受版本控制的文件之资源管理器上下文菜单
5.24. 未受版本控制的文件之资源管理器上下文菜单
5.25. 版本控制文件的菜单浏览
5.26. 恢复对话框
5.27. 资源管理器属性页,Subversion 页面
5.28. Subversion 属性页
5.29. 增加属性
5.30. 分支/标记对话框
5.31. 切换对话框
5.32. 合并对话框
5.33. 锁定对话框
5.34. 检查修改对话框
5.35. 创建补丁的对话框
5.36. 评注/追溯对话框
5.37. TortoiseBlame
5.38. 版本库浏览器
5.39. 一个版本分支
5.40. 从 URL 导出对话框
5.41. 重定位对话框
5.42. 设置对话框,常规设置页面
5.43. 设置对话框,外观与样式页面
5.44. 设置对话框,外观与样式页面
5.45. 设置对话框,图标集页面
5.46. 设置对话框,对话框一页面
5.47. 设置对话框,对话框二页面
5.48. 设置对话框,颜色页面
5.49. 设置对话框,差异查看页面
5.50. 高级差异比较设置/高级合并设置的对话框
5.51. 设置对话框,已保存数据设置页面
5.52. 设置对话框,钩子脚本页
5.53. 设置对话框,配置钩子脚本页面
C.1. 升级对话框

表格清单

2.1. 版本库访问 URL
3.1. 设置 Apache 的 httpd.conf
6.1. 列出可用的命令行开关
6.2. 列出可用的命令行开关
D.1. 有效命令及选项列表