Как заставить cleartool diff вернуться в командную строку, пока программа просмотра diff еще открыта? - PullRequest
2 голосов
/ 20 декабря 2009

Как описано в одном из ответов на вопрос SO " Любой способ использовать пользовательский инструмент сравнения с cleartool / clearcase? " Я установил WinMerge, и один дифференциал прекрасно открывается в WinMerge на основе команды формы

cleartool diff -g имя_файла @@ clearcase-virtual-path-to-version-I-want-to_compare-to

Но когда я запускаю эту команду в cygwin, она не возвращается в командную строку, пока я не выйду из WinMerge.

Я хочу выполнить несколько таких команд из файла .bat или сценария оболочки (по одной для каждого файла в наборе изменений данного действия ClearCase) и заставить его открывать несколько экземпляров WinMerge или несколько окон в одном WinMerge. экземпляр.

Я мог сделать это однажды, но я забыл как. Может кто-нибудь напомнить мне?

Я чувствую, что это на самом деле не вопрос ClearCase, а, возможно, вопрос DOS или оболочки о порождении процессов из командной строки cygwin ...

Ответы [ 2 ]

2 голосов
/ 20 декабря 2009

Поместите амперсанд в конец строки, чтобы запустить его в фоновом режиме:

cleartool diff -g filename filename@@clearcase-virtual-path-to-version-I-want-to_compare-to &
1 голос
/ 20 декабря 2009

Как указано в справочной странице Winmerge Command Line

/ s ограничивает окна WinMerge одним экземпляром. Например, если WinMerge уже запущен, новое сравнение открывается в том же экземпляре. Без этого параметра допускается несколько окон: в зависимости от других настроек новое сравнение может открываться в существующем окне или в новом окне.

Чтобы вы могли вызывать WinMerge несколько раз:

  • либо через фоновый процесс (как troelskn предлагает )
  • или через DOS call

    вызов "c: \ Program Files (x86) \ WinMerge \ WinMergeU.exe" / s ...

должен иметь возможность запустить только один экземпляр WinMerge и продолжить сценарий DOS.


Примечание: это не работает с файлом map, который я упоминаю в этом другом ответе SO , поскольку для файла map необходимо:

  • исполняемый файл (.bat или .cmd не будет работать)
  • без параметров (WinMergeU.exe работает, WinMergeU.exe /s не будет)
...