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

Command line 在使用ClearCase执行文本模式合并时,如何增加列宽?,command-line,merge,clearcase,rebase,column-width,Command Line,Merge,Clearcase,Rebase,Column Width,出于自动化/脚本编制目的,我在UNIX命令行上使用以下命令重新设置ClearCase快照视图的基础: cleartool rebase -recommended -complete 有时,当此命令运行时,即使快照视图根本不包含任何更改,也会提示我手动输入以解决某些合并冲突。例如“是否要从文件x插入?[是/否]”或“是否要从文件y删除?”或“是否要从文件z进行更改?[是/否]”。等等 当这种情况发生时,“cleartool-rebase-recommended-complete”只显示几列上下文

出于自动化/脚本编制目的,我在UNIX命令行上使用以下命令重新设置ClearCase快照视图的基础:

cleartool rebase -recommended -complete
有时,当此命令运行时,即使快照视图根本不包含任何更改,也会提示我手动输入以解决某些合并冲突。例如“
是否要从文件x插入?[是/否]
”或“
是否要从文件y删除?
”或“
是否要从文件z进行更改?[是/否]
”。等等

当这种情况发生时,“
cleartool-rebase-recommended-complete
”只显示几列上下文。我还没有统计过,但感觉在显示冲突更改的列的宽度中只使用了20个字符。在这种狭隘的视角下,任何人都无法做出有用的合并决策,而且这常常会导致糟糕的合并(更不用说坏的构建)

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


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

考虑到只有非UCM命令(如)具有
-column
选项,解决方法可能是:

  • 在重设基础期间跳过那些有冲突的文件
  • 尝试将源版本与文件的当前签出版本合并,由于冲突尚未重新设置基准,但列宽较大
即:

-col/umns n
建立并排输出的总宽度。
默认宽度为80;仅显示相应差异行的前40个左右字符。
如果
n
未超过默认宽度,则忽略此选项

合并将在使用rebase设置的UCM活动时进行,使用目标UCM视图

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

确认基于GUI的解决方案仍然是未来的发展方向:

使用X-Windows的替代方案有效:

正如人们所期望的,这与
cleartool-rebase-recommended-complete
具有相同的行为,不同的是,如果遇到任何不重要/不可自动解决的合并冲突,它会弹出xmerge 3-way GUI工具


到目前为止,似乎无法修复和/或自动化此问题。它带来了一个关于根本原因的问题。。。请看:下面的链接表明还可以添加“-force”参数来抑制用户输入提示——但是该参数的结果是什么?合并是如何完成的?是否使用了默认提示答案,合并结果是否有点随机?---@user972301 rebase手册页()确实提到:“rebase命令的合并选项不受
-force
选项的影响”:如果发生冲突,仍然会询问您。您可以对其他rebase命令使用
-force
选项,如cancel:
cleartool rebase-cancel-force
@user972301顺便问一下,您使用的是什么版本的ClearCase?在我工作时使用的UNIX系统上,它是8.0左右的。如有必要,我可以再次检查确切的版本号。
cleartool rebase -recommended -complete -gmerge