TortoiseSVN
针对 Windows 平台的 Subversion 客户端
Version 1.7
Stefan Küng
Lübbe Onken
Simon Large
ii
目录
前言 .................................................................................. x
1. 什么是 TortoiseSVN? .......................................................... x
2. TortoiseSVN 的特性 ........................................................... x
3. 许可协议 ..................................................................... xi
4. 开发 ......................................................................... xi
4.1. TortoiseSVN 的历史 .................................................... xi
4.2. 致谢 .................................................................. xi
5. 阅读指南 .................................................................... xii
6. 本文使用的术语 .............................................................. xii
1. 开始 .............................................................................. 1
1.1. 安装 TortoiseSVN ........................................................... 1
1.1.1. 系统要求 ............................................................. 1
1.1.2. 安装 ................................................................. 1
1.2. 基本概念 .................................................................... 1
1.3. 开始试用 .................................................................... 2
1.3.1. 创建版本库 ........................................................... 2
1.3.2. 导入项目 ............................................................. 2
1.3.3. 检出工作副本 ......................................................... 3
1.3.4. 进行修改 ............................................................. 3
1.3.5. 添加更多的文件 ....................................................... 4
1.3.6. 查看项目历史 ......................................................... 4
1.3.7. 撤消更改 ............................................................. 5
1.4. 继续前进 ... ................................................................ 5
2. 基本版本控制概念 ................................................................... 6
2.1. 版本库 ...................................................................... 6
2.2. 版本模型 .................................................................... 6
2.2.1. 文件共享的问题 ....................................................... 6
2.2.2. 锁定-修改-解锁 方案 .................................................. 7
2.2.3. 复制-修改-合并 方案 .................................................. 8
2.2.4. Subversion 怎么做? ................................................. 10
2.3. Subversion 实战 ........................................................... 10
2.3.1. 工作副本 ............................................................ 10
2.3.2. 版本库的 URL ........................................................ 12
2.3.3. 修订版本 ............................................................ 12
2.3.4. 工作副本怎样跟踪版本库 .............................................. 14
2.4. 摘要 ....................................................................... 14
3. 版本库 ........................................................................... 15
3.1. 创建版本库 ................................................................. 15
3.1.1. 使用命令行工具创建版本库 ............................................ 15
3.1.2. 使用 TortoiseSVN 创建版本库 ......................................... 15
3.1.3. 本地访问版本库 ...................................................... 16
3.1.4. 访问网络共享磁盘上的版本库 .......................................... 16
3.1.5. 版本库布局 .......................................................... 16
3.2. 版本库备份 ................................................................. 18
3.3. 服务器端钩子脚本 ........................................................... 18
3.4. 检出链接 ................................................................... 19
3.5. 访问版本库 ................................................................. 19
4. 日常使用指南 ...................................................................... 21
4.1. 基本特性 ................................................................... 21
4.1.1. 图标重载 ............................................................ 21
4.1.2. 右键菜单 ............................................................ 21
4.1.3. 拖放 ................................................................ 23
4.1.4. 常用快捷方式 ........................................................ 24
4.1.5. 认证 ................................................................ 24
4.1.6. 最大化窗口 .......................................................... 25
TortoiseSVN
iii
4.2. 导入数据到版本库 ........................................................... 25
4.2.1. 导入 ................................................................ 26
4.2.2. 导入适当的位置 ...................................................... 27
4.2.3. 专用文件 ............................................................ 27
4.3. 检出工作副本 ............................................................... 27
4.3.1. 检出深度 ............................................................ 28
4.4. 将你的修改提交到版本库 ..................................................... 30
4.4.1. 提交对话框 .......................................................... 30
4.4.2. 修改列表 ............................................................ 32
4.4.3. 从提交列表中排除项目 ................................................ 32
4.4.4. 提交日志信息 ........................................................ 32
4.4.5. 提交进程 ............................................................ 34
4.5. 用来自别人的修改更新你的工作副本 ........................................... 34
4.6. 解决冲突 ................................................................... 36
4.6.1. 文件冲突 ............................................................ 36
4.6.2. 属性冲突 ............................................................ 37
4.6.3. 树冲突 .............................................................. 37
4.7. 获得状态信息 ............................................................... 40
4.7.1. 图标重载 ............................................................ 40
4.7.2. 详细状态 ............................................................ 41
4.7.3. 在 Windows 资源管理器中的 TortoiseSVN 列 ............................ 42
4.7.4. 本地与远程状态 ...................................................... 43
4.7.5. 查看差别 ............................................................ 45
4.8. 修改列表 ................................................................... 45
4.9. 版本日志对话框 ............................................................. 46
4.9.1. 调用版本日志对话框 .................................................. 47
4.9.2. 版本日志动作 ........................................................ 47
4.9.3. 获得更多信息 ........................................................ 48
4.9.4. 获取更多的日志信息 .................................................. 52
4.9.5. 当前工作副本的版本 .................................................. 53
4.9.6. 合并跟踪特性 ........................................................ 53
4.9.7. 修改日志消息和作者 .................................................. 54
4.9.8. 过滤日志信息 ........................................................ 54
4.9.9. 统计信息 ............................................................ 55
4.9.10. 离线方式 ........................................................... 59
4.9.11. 刷新视图 ........................................................... 59
4.10. 查看差异 .................................................................. 59
4.10.1. 文件差异 ........................................................... 59
4.10.2. 行结束符和空白选项 ................................................. 60
4.10.3. 比较文件夹 ......................................................... 61
4.10.4. 使用 TortoiseIDiff 进行比较的图像 .................................. 62
4.10.5. Diffing Office Documents ........................................... 63
4.10.6. 其他的比较/合并工具 ................................................ 63
4.11. 添加新文件和目录 .......................................................... 64
4.12. 复制/移动/重命名文件和文件夹 .............................................. 64
4.13. 忽略文件和目录 ............................................................ 65
4.13.1. 忽略列表中的模式匹配 ............................................... 66
4.14. 删除、移动和改名 .......................................................... 66
4.14.1. 正在删除文件/文件夹 ................................................ 67
4.14.2. 移动文件和文件夹 ................................................... 68
4.14.3. 处理文件名称大小写冲突 ............................................. 68
4.14.4. 修复文件改名 ....................................................... 69
4.14.5. 删除未版本控制的文件 ............................................... 69
4.15. 撤消更改 .................................................................. 69
4.16. 清理 ...................................................................... 70
4.17. 项目设置 .................................................................. 71
4.17.1. Subversion 属性 .................................................... 71
4.17.2. TortoiseSVN 项目属性 ............................................... 75
TortoiseSVN
iv
4.17.3. 属性编辑器 ......................................................... 77
4.18. 外部条目 .................................................................. 81
4.18.1. 外部文件夹 ......................................................... 81
4.18.2. 外部文件 ........................................................... 83
4.19. 分支/标记 ................................................................. 83
4.19.1. 创建一个分支或标记 ................................................. 84
4.19.2. 创建分支或标记的其他方法 ........................................... 85
4.19.3. 检出或者切换 ....................................................... 85
4.20. 合并 ...................................................................... 86
4.20.1. 合并指定版本范围 ................................................... 87
4.20.2. 复兴分支 ........................................................... 89
4.20.3. 合并两个不同的目录树 ............................................... 90
4.20.4. 合并选项 ........................................................... 91
4.20.5. 预览合并结果 ....................................................... 92
4.20.6. 合并跟踪 ........................................................... 92
4.20.7. 子合并期间处理冲突 ................................................. 93
4.20.8. 合并已完成的分支 ................................................... 94
4.20.9. 特性分支维护 ....................................................... 94
4.21. 锁 ........................................................................ 95
4.21.1. 锁定在Subverion中是如何工作的 ...................................... 95
4.21.2. 取得锁定 ........................................................... 95
4.21.3. 释放锁定 ........................................................... 96
4.21.4. 检查锁定状态 ....................................................... 97
4.21.5. 让非锁定的文件变成只读 ............................................. 97
4.21.6. 锁定钩子脚本 ....................................................... 97
4.22. 创建并应用补丁 ............................................................ 98
4.22.1. 创建一个补丁文件 ................................................... 98
4.22.2. 应用一个补丁文件 ................................................... 99
4.23. 谁修改了哪一行? .......................................................... 99
4.23.1. 追溯文件 .......................................................... 100
4.23.2. 追溯不同点 ........................................................ 102
4.24. 版本库浏览器 ............................................................. 102
4.25. 版本分支图 ............................................................... 105
4.25.1. 版本图节点 ........................................................ 105
4.25.2. 更改视图 .......................................................... 106
4.25.3. 使用图 ............................................................ 108
4.25.4. 刷新视图 .......................................................... 108
4.25.5. Pruning Trees ..................................................... 109
4.26. 导出一个Subversion工作副本 ............................................... 109
4.26.1. 从版本控制里移除删除工作副本 ...................................... 111
4.27. 重新定位工作副本 ......................................................... 111
4.28. 与 BUG 跟踪系统/问题跟踪集成 ............................................. 112
4.28.1. 在日志消息中增加问题号 ............................................ 112
4.28.2. Getting Information from the Issue Tracker ........................ 116
4.29. 与基于 WEB 的版本库浏览器集成 ............................................ 117
4.30. TortoiseSVN的设置 ........................................................ 118
4.30.1. 常规设置 .......................................................... 118
4.30.2. Revision Graph Settings ........................................... 126
4.30.3. 图标叠加设置 ...................................................... 128
4.30.4. 网络设置 .......................................................... 132
4.30.5. 外部程序设置 ...................................................... 133
4.30.6. 已保存数据的设置 .................................................. 137
4.30.7. 日志缓存 .......................................................... 138
4.30.8. 客户端钩子脚本 .................................................... 141
4.30.9. TortoiseBlame 的设置 .............................................. 145
4.30.10. Advanced Settings ................................................ 146
4.30.11. Exporting TSVN Settings .......................................... 149
4.31. 最后步骤 ................................................................. 150
TortoiseSVN
v
5. SubWCRev 程序 ................................................................... 151
5.1. SubWCRev 命令行 ........................................................... 151
5.2. 关键字替换 ................................................................ 151
5.3. 关键字例子 ................................................................ 153
5.4. COM 接口 ................................................................. 153
6. IBugtraqProvider 接口 ........................................................... 157
6.1. 命名规范 .................................................................. 157
6.2. IBugtraqProvider 接口 ..................................................... 157
6.3. IBugtraqProvider2 接口 .................................................... 158
A. 常见问题(FAQ) .................................................................... 162
B. 如何实现 … ..................................................................... 163
B.1. 一次移动或复制多个文件 .................................................... 163
B.2. 强制用户写日志 ............................................................ 163
B.2.1. 服务器端的钩子脚本(Hook-script) .................................... 163
B.2.2. 工程(Project)属性 .................................................. 163
B.3. 从版本库里更新选定的文件到本地 ............................................ 163
B.4. Roll back (Undo) revisions in the repository ............................. 164
B.4.1. 使用版本日志对话框 ................................................. 164
B.4.2. 使用合并对话框 ..................................................... 164
B.4.3. 使用 svndumpfilter ................................................. 164
B.5. Compare two revisions of a file or folder ................................ 165
B.6. 包含一个普通的子项目 ...................................................... 165
B.6.1. 使用 svn:externals ................................................. 165
B.6.2. 使用嵌套工作副本 ................................................... 165
B.6.3. 使用相对位置 ....................................................... 165
B.7. 创建到版本库的快捷方式 .................................................... 166
B.8. 忽略已经版本控制的文件 .................................................... 166
B.9. 从工作副本删除版本信息 .................................................... 166
B.10. 删除工作副本 ............................................................. 166
C. Useful Tips For Administrators .................................................. 168
C.1. 通过组策略部署 TortoiseSVN ................................................ 168
C.2. 重定向升级检查 ............................................................ 168
C.3. 设置 SVN_ASP_DOT_NET_HACK 环境变量 ........................................ 169
C.4. 禁用上下文菜单 ............................................................ 169
D. TortoiseSVN 操作 ................................................................ 172
D.1. TortoiseSVN 命令 .......................................................... 172
D.2. Tsvncmd URL handler ...................................................... 176
D.3. TortoiseIDiff 命令 ........................................................ 177
E. 命令行交叉索引 ................................................................... 178
E.1. 约定和基本规则 ............................................................ 178
E.2. TortoiseSVN 命令 .......................................................... 178
E.2.1. 检出 ............................................................... 178
E.2.2. 更新 ............................................................... 178
E.2.3. 更新到版本 ......................................................... 178
E.2.4. 提交 ............................................................... 179
E.2.5. 差异 ............................................................... 179
E.2.6. 显示日志 ........................................................... 179
E.2.7. 检查修改 ........................................................... 179
E.2.8. 版本图 ............................................................. 180
E.2.9. 版本库浏览器 ....................................................... 180
E.2.10. 编辑冲突 .......................................................... 180
E.2.11. 已解决 ............................................................ 180
E.2.12. 改名 .............................................................. 180
E.2.13. 删除 .............................................................. 180
E.2.14. 恢复 .............................................................. 180
E.2.15. 清理 .............................................................. 181
E.2.16. 获得锁 ............................................................ 181
E.2.17. 释放锁 ............................................................ 181
- 1
- 2
前往页