Оператор разрешения области также называется «Paamayim Nekudotayim» с иврита פעמיים נקודתיים. это означает «двойная двоеточие» или «двойная точка дважды».
Эта ошибка обычно возникает, если вы случайно поместите ::
в свой код.
Вопросы, относящиеся:
Документация:
Я получил другой способ работать на основе предложений здесь. Я обнаружил, что cleartool "получают" команду, таким образом, я выполняю это для получения предыдущей версии во временный файл:
cleartool добираются - до fname.temp fname @@, предшественник
Тогда выполняет мою разность и удаляет тот файл.
спасибо за все предложения.
Другая опция состоит в том, чтобы использовать Git+ClearCase (или видеть это или это ), и просто разность с Мерзавцем.
Это удивительно легко настроить и, по моему опыту, Ваш мозг меньше на самом деле повреждает использовать две системы VCS сразу, чем попытаться разбить CC в то, чтобы быть инструментом 21-го века.
Просто думают о Мерзавце как о мосте между CC и разностью :-)
Я установил "WinMerge" (свободный различный инструмент), и он установил себя как clearcase различный инструмент. Я не уверен, как это сделало это.
Вы могли попытаться использовать этот прием :
Создают пустой файл
% touch empty
, Получают для версии A
% cleartool diff -ser empty File@@/main/28 > A
, Получают для Разности версии B
% cleartool diff -ser empty File@@/main/29 > B
& получите прибыль!
% your-diff-here A B
Помещенный это в сценарий и делает опции немного более гибкими, и там у Вас есть он.
, Если Вы хотите Вас, мог бы легко отрезать cleartool различную грязь прочь с немного awk
или cut
или perl
или Ваш предпочтительный яд.
Ура для ClearCase!
WinMerge, как упомянуто автоматически обнаруживает установку ClearCase и изменяет файл карты в пути установки Clearcase.
я испытал проблемы, был ClearCase, откроет его собственный различный инструмент вместо этого, потому что установка WinMerge не изменила все необходимые позиции. Таким образом, это - хорошая идея прочитать документацию для ClearCase, таким образом, можно зафиксировать его вручную в случае необходимости.
Можно указать внешний различный инструмент путем изменения карты файлов в "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 для выполнения (в рамках реализации сценария: замена 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";