使用 ClearCase 执行文本模式合并时如何增加列宽?

How to increase column width when performing text mode merge with ClearCase?

出于 automation/scripting 目的,我使用以下命令在 UNIX 命令行上重新设置了我的 ClearCase 快照视图的基址:

cleartool rebase -recommended -complete

有时,当此命令运行时,即使我的快照视图根本不包含任何更改,系统也会提示我手动输入以解决一些合并冲突。例如。 “Do you want INSERTION from file x? [yes/no]”或“Do you want DELETION from file y?”或“Do you want CHANGES from file z? [yes/no]”。等等

当这种情况发生时,“cleartool rebase -recommended -complete”仅显示几列上下文。我没有数过,但感觉显示冲突更改的列的宽度只使用了 20 个字符。有了如此狭隘的观点,任何人都无法做出有用的合并决策,而且通常会导致错误的合并(更不用说损坏的构建)。

如何指示“cleartool rebase -recommended -complete”使用例如 80 列宽的上下文进行提示,以便至少可以清楚地看到代码的冲突部分是什么?

假设没有可用的 X-Window 服务器,因此图形合并不是一个选项。请记住,这是为了自动化目的。

考虑到只有像 cleartool merge 这样的非 UCM 命令有 -column 选项,解决方法 可能是:

  • 在变基期间跳过那些有冲突的文件
  • 尝试将源版本与当前检出的文件版本合并,该版本尚未因冲突而变基,但列宽更大。

即:

-col/umns n

Establishes the overall width of side-by-side output.
The default width is 80; only the first 40 or so characters of corresponding difference lines appear.
If n does not exceed the default width, this option is ignored.

合并将在使用由变基设置的 UCM activity 时发生,使用目标 UCM 视图。

对于许多有冲突的文件来说,这显然不能很好地扩展,但正如我之前提到的,它可能是一个解决方法

The OP confirms 基于 GUI 的解决方案仍然是可行的方法:

The alternative using X-Windows worked:

cleartool rebase -recommended -complete -gmerge

As one would expect, this has the same behavior as cleartool rebase -recommended -complete, except that it pops up the xmerge 3-way GUI tool if any non-trivial/non-auto-resolvable merge conflicts are encountered.