Beyond Compare 3 编辑被禁用

8

在使用 SourceGear Vault 时,当我点击“显示差异…”选项时,BC2 允许我从代码库复制到工作版本并保存,但是 BC3 却不行。它不允许复制到另一侧(右侧),并且在 BC3 底部显示编辑已被禁用。DiffMerge 的情况也是一样的。我这里有什么理解上的错误吗?

请问是否有人能够解释 BC3 中的更改,并提供解决方法?

3个回答

8
Beyond Compare 会因以下原因之一而禁用文件编辑:
  • 它是三向合并中的输入文件之一
  • 比较被取消
  • 比较遇到错误 (文件损坏,字符编码无效,内存不足,伽马射线等)
  • 文件格式的转换设置不支持转换回原始格式 (MS Word,PDF)
  • 文件位于只读 "文件系统" 上 (7zip/RAR/CHM 归档,CD/DVD-ROM)
  • 用户在会话设置或使用 /ro 命令行开关时显式禁用了文件或父文件夹的编辑
  • 查看器本身不支持编辑 (例如,在 v4 之前的 Hex Compare)
此外,文本比较视图菜单中的 全面编辑 (F2) 切换在行内编辑和基于行的模式之间。如果禁用了该选项,您可以复制/删除整行并在窗口底部输入行详细信息的编辑,但主窗口将没有光标,无法输入,并且它将始终选择整行。与上述项目不同,这不会在状态栏中显示 "编辑已禁用"。

6

在调用BC命令时,必须在命令行上加上一个标志,例如/ro#或/#ro或/(side)readonly(其中side是left或right),它可以防止编辑。

这些标志存在的原因是因为经常使用临时文件进行差异比较,特别是来自SCC。而Vault可能只有一个“外部差异”命令,因此您必须选择这些标志是否始终存在。这可以保护您免受意外编辑临时文件并在关闭差异工具时丢失工作。


1
是的,在BC文档页面中建议的设置包括将“/ro”作为diff的参数,这将导致此行为。 - matli

0
我发现的几个原因是:
  • 如果文件的编码与默认值不同。在这种情况下,将编码更改为预期的编码。(在我的情况下是日语ShiftJIS)
  • 如果正在进行文件刷新。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接