Какой-либо способ использовать пользовательский различный инструмент с cleartool/clearcase?

Ошибка анализа: синтаксическая ошибка, неожиданный T_PAAMAYIM_NEKUDOTAYIM

Оператор разрешения области также называется «Paamayim Nekudotayim» с иврита פעמיים נקודתיים. это означает «двойная двоеточие» или «двойная точка дважды».

Эта ошибка обычно возникает, если вы случайно поместите :: в свой код.

Вопросы, относящиеся:

Документация:

46
задан VonC 29 May 2017 в 13:46
поделиться

6 ответов

Я получил другой способ работать на основе предложений здесь. Я обнаружил, что cleartool "получают" команду, таким образом, я выполняю это для получения предыдущей версии во временный файл:

cleartool добираются - до fname.temp fname @@, предшественник

Тогда выполняет мою разность и удаляет тот файл.

спасибо за все предложения.

3
ответ дан chacmool 26 November 2019 в 20:28
поделиться

Другая опция состоит в том, чтобы использовать Git+ClearCase (или видеть это или это ), и просто разность с Мерзавцем.

Это удивительно легко настроить и, по моему опыту, Ваш мозг меньше на самом деле повреждает использовать две системы VCS сразу, чем попытаться разбить CC в то, чтобы быть инструментом 21-го века.

Просто думают о Мерзавце как о мосте между CC и разностью :-)

6
ответ дан Matt Curtis 26 November 2019 в 20:28
поделиться

Я установил "WinMerge" (свободный различный инструмент), и он установил себя как clearcase различный инструмент. Я не уверен, как это сделало это.

0
ответ дан Paul Tomblin 26 November 2019 в 20:28
поделиться

Вы могли попытаться использовать этот прием :

  1. Создают пустой файл

    % touch empty

  2. , Получают для версии A

    % cleartool diff -ser empty File@@/main/28 > A

  3. , Получают для Разности версии B

    % cleartool diff -ser empty File@@/main/29 > B

  4. & получите прибыль!

    % your-diff-here A B

Помещенный это в сценарий и делает опции немного более гибкими, и там у Вас есть он.

, Если Вы хотите Вас, мог бы легко отрезать cleartool различную грязь прочь с немного awk или cut или perl или Ваш предпочтительный яд.

Ура для ClearCase!

1
ответ дан Community 26 November 2019 в 20:28
поделиться

WinMerge, как упомянуто автоматически обнаруживает установку ClearCase и изменяет файл карты в пути установки Clearcase.

я испытал проблемы, был ClearCase, откроет его собственный различный инструмент вместо этого, потому что установка WinMerge не изменила все необходимые позиции. Таким образом, это - хорошая идея прочитать документацию для ClearCase, таким образом, можно зафиксировать его вручную в случае необходимости.

0
ответ дан Oliver 26 November 2019 в 20:28
поделиться

Как изменить различные инструменты по умолчанию

Можно указать внешний различный инструмент путем изменения карты файлов в "c:\program files\rational\ClearCase\lib\mgrs"

WinMerge, предложенный Paul на самом деле, изменяет тот файл.

Каждая строка карты имеет 3 части: тип файла CC, действие CC и приложение.

Найдите раздел в файле карты для text_file_delta типов файлов. Там Вы найдете, что строки для действий CC выдерживают сравнение, xcompare, слияние и xmerge, которые похожи на это:

text_file_delta   compare          ..\..\bin\cleardiff.exe
text_file_delta   xcompare         ..\..\bin\cleardiffmrg.exe
text_file_delta   merge            ..\..\bin\cleardiff.exe
text_file_delta   xmerge           ..\..\bin\cleardiffmrg.exe

Можно заменить их исполняемым файлом различного выбора инструмента.


Или, простой различный сценарий

Если Вы хотите пойти полная командная строка на этом (который я люблю ;-)), немного ccperl может помочь:

#!/bin/perl
my ($file, $switches) = @ARGV;
$switches ||= '-ubBw';

my ($element, $version, $pred) 
    = split(/;/,`cleartool describe -fmt '%En;%Vn;%PVn' $file`);

unless ($pred) { die "ctdiff: $file has no predecessor\n"; }

exec "mydiff $switches $element\@\@$pred $file";

Предупреждение: расширенный путь (@@\...) только доступно в динамическом представлении (M:\..., не создают снимки представление (c:\...).

Сценарий не имеет никакого отношения mapфайл, представленный выше:

  • тот файл определяет 'менеджеров по Слиянию Типа'.
  • Этот сценарий позволяет Вам выполнять любого менеджера по слиянию на любом файле, который Вы хотите, не читая файла карты для поиска правильной разности exe для использования для данного файла.

Здесь, Вы предоставляете сценарию обе информации: файл (в качестве параметра) и разность exe для выполнения (в рамках реализации сценария: замена mydiff любой разностью exe Вы хотят).


Или, улучшенный различный сценарий (работает в статических представлениях / представлениях снимка также),

Вот версия этого сценария, который работает и на снимок и на динамическое представление.

Для представления снимка я использую предложение chacmool: cleartool get.

Снова, можно заменить diff команда включена в этот сценарий инструментом Вашего выбора.

#!/bin/perl
my ($file, $switches) = @ARGV;
$switches ||= '-u';

my ($element, $version, $pred) 
    = split(/;/,`cleartool describe -fmt '%En;%Vn;%PVn' $file`);

unless ($pred) { die "ctdiff: $file has no predecessor\n"; }

# figure out if view is dynamic or snapshot
my $str1 = `cleartool lsview -long -cview`;
if($? == 0) { dodie("pred.pl must be executed within a clearcase view"); }
my @ary1 = grep(/Global path:/, split(/\n/, $str1));
if($str1 =~ /View attributes: snapshot/sm) { $is_snapshot = 1; }

my $predfile = "$element\@\@$pred";
$predfile =~ s/\'//g;#'
#printf("$predfile\n");
if ($is_snapshot) { 
  my $predtemp = "c:\\temp\\pred.txt";
  unlink($predtemp);
  my $cmd = "cleartool get -to $predtemp $predfile"; printf("$cmd\n");
  my $str2 = `$cmd`;
  $predfile = $predtemp;
}
sub dodie {
    my $message = $_[0];
    print($message . "\n");
    exit 1;
}

exec "diff $switches $predfile $file";
59
ответ дан akavel 26 November 2019 в 20:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: