resolve: 解决工作副本中文件或目录的冲突。
用法:
resolve [PATH...]
默认情况下,使用交互方式解决 PATH 的冲突。在此模式下,默认进行递归处理 (深度为
“infinity”)。
选项 --accept=ARG
可阻止交互式提示,并以 ARG 指定的方式强制解决 PATH
上的冲突。在此模式下,默认不进行递归处理 (深度为 “empty”)。
除非已使用 “svn ”
命令将冲突的路径标记为已解决,否则无法使用 “resolvesvn ”
命令来提交它。commit
Subversion 包含三种类型的冲突:文本冲突,属性冲突和树冲突。
对文件内容进行重叠的更改时,将发生文本冲突。文本冲突通常通过编辑冲突文件或使用合并工具 (可能是外部程序) 来解决。
命令 “svn ” 提供了可用于自动编辑文件的选项 (例如
“resolvemine-full” 或
“theirs-conflict”),但是这些选项仅在可以完全放弃本地修改或传入修改的情况下才有用。
属性冲突通常是通过编辑冲突属性的值来解决 (通过交互式提示或使用
“svn ”
命令)。与文本冲突一样,存在一些选项可以自动编辑属性,而放弃某些更改而接受其它更修改。propedit
当对目录结构进行更改时,
并且无法在不影响其他修改 (文本修改,属性修改或目录结构的其他修改) 的情况下将该这些修改应用于工作副本时,
就会发生树冲突。“svn ” 和
“statussvn ”
命令可以显示有关树冲突的一些简要信息。在交互模式之下,命令
“infosvn ”
将尝试详细描述树冲突,并有可能提供自动解决树冲突的选项。建议尽量使用这些自动选项,而不要尝试手动解决树冲突。resolve
如果无法自动解决树冲突,建议在尝试解决冲突之前先找出发生冲突的原因。命令
“svn ”
可用来检查以前的版本中甚至在其它分支上所做的结构修改。命令
“log -vsvn ” 描述了这些结构修改是如何显示的。一旦使用
“help logsvn ” 命令找到了传入冲突的修改,则应检查并适当调整当前
“本地” 工作副本的状态,以解决冲突。这可能涉及手动或使用
“logsvn ” 编辑文件。可能需要使用
“mergesvn ”
命令丢弃一些本地更改。文件或目录可能需要被复制,删除或移动。revert
| 有效选项: | ||
|---|---|---|
--targets ARG |
: | 将文件 ARG 的内容作为附加参数 |
| -R [--recursive] | : | 向下递归操作各级路径项,与
--depth=infinity
相同 |
--depth ARG | : | 限制输出深度为
ARG (empty,
files, immediates, 或
infinity) |
| -q [--quiet] | : | 不输出信息,或只输出概要信息 |
--accept ARG |
: | 指定自动解决冲突的措施:
base 使用 BASE 版本working 使用工作副本mine-conflict 冲突位置使用我的内容(简写:mc)theirs-conflict 冲突位置使用对方内容(简写:tc)mine-full 全部使用我的内容(简写:mf)theirs-full 全部使用对方的内容(简写:tf) |