2

如SO问题的答案之一所述“任何方式都可以使用带有cleartool / clearcase的自定义差异工具? ”我已经安装了WinMerge,并且基于表单的命令在WinMerge中打开了一个单独的差异

cleartool diff -g 文件名文件名@@clearcase-virtual-path-to-version-I-want-to_compare-to

但是当我在 cygwin 中运行该命令时,它不会返回到命令提示符,直到我退出 WinMerge。

我想从 .bat 文件或 shell 脚本(给定 ClearCase 活动的更改集中的每个文件一个)执行一些这样的命令,并让它打开多个 WinMerge 实例,或在单个 WinMerge 实例中打开多个窗口。

我曾经能够做到这一点,但我忘记了如何做到这一点。有人可以提醒我吗?

我觉得这不是一个真正的 ClearCase 问题,而可能是关于从 cygwin 命令行生成进程的 DOS 或 shell 问题......

4

2 回答 2

2

在行尾放置一个 & 符号以在后台运行它:

cleartool diff -g filename filename@@clearcase-virtual-path-to-version-I-want-to_compare-to &
于 2009-12-20T16:53:18.373 回答
1

Winmerge 命令行手册页中所述

/s 将 WinMerge 窗口限制为单个实例。例如,如果 WinMerge 已在运行,则会在同一实例中打开一个新的比较。如果没有此参数,则允许多个窗口:根据其他设置,新比较可能会在现有窗口或新窗口中打开。

所以你可以多次调用 WinMerge:

  • 通过后台进程(如troelskn 建议
  • 或通过 DOScall

    调用 "c:\Program Files (x86)\WinMerge\WinMergeU.exe" /s ...

应该只能启动一个 WinMerge 实例并继续执行 DOS 脚本。


注意:这不适用于map我在其他 SO 答案中提到的文件,因为map文件需要:

  • 可执行文件(.bat.cmd不起作用)
  • 没有选项(WinMergeU.exe有效,WinMergeU.exe /s不会)
于 2009-12-20T19:46:15.847 回答