Как удалить элемент с именем '-c' из ClearCase - PullRequest
1 голос
/ 06 декабря 2011

При создании некоторых каталогов в ClearCase я «забыл», что порядок аргументов был значительным. Я добавил несколько каталогов, как это:

cleartool mkdir a b -c "Some comment"

Когда меня попросили дать комментарий для каталогов, я понял, что аргумент -c находится не в том месте, но предположил, что все будет в порядке, поэтому ввел Some comment еще два раза (для a и b отдельно). Затем меня попросили прокомментировать элемент '-c', и Ctrl-C 'выполнила команду.

Однако теперь cleartool ls показывает элементы a, b и '-c'.

Я не могу удалить элемент '-c'. Я пробовал следующее:

cleartool rmelem "-c"   #fails, assumes the -c is the comment argument
cleartool rmelem -c "comment" -c
cleartool rmelem -c "comment" "-c"
cleartool rmelem -c "comment" ^-c    #Running on Windows, so tried Windows escape
cleartool rmelem -c "comment" \-c    #CC mimics UNIX, so tried UNIX escape
cleartool rmelem -c "comment" ^\-c   #CC mimics UNIX, but running thru Windows, so tried escaping the UNIX escape.

Все терпят неудачу, говоря либо Illegal duplicate use of flag "-c[omment]" (когда не сбежал), либо Unable to access ... (когда сбежал).

Еще одна странная вещь. Если я пробовал одинарные кавычки, ct предполагал, что 'является частью имени элемента:

> cleartool rmelem -c "Removing element '-c'" '-c'
cleartool: Error: Pathname not found: "'-c'".

Ответы [ 2 ]

1 голос
/ 06 декабря 2011

Использовать - разделитель между опциями и аргументами.

См. Удаление объектов ClearCase, имя которых начинается с дефиса

Чтобы удалить объект ClearCase(представление, VOB, элемент или другие объекты ClearCase) с предшествующим символом дефиса (-), выполните команду cleartool с аргументом с двойным дефисом, чтобы запретить cleartool интерпретировать имя как параметр.

cleartool rmelem -- -t1.txt
0 голосов
/ 06 декабря 2011

Поскольку это элемент, в качестве альтернативы вы могли бы сыграть обычный трюк «добавить ./ впереди», который является распространенным ответом на вопросы «как удалить файл с именем -f» или аналогичный, например, cleartool rmelem ./-c, без зависимости от какой-либо специальной поддержки от cleartool с --, как уже упоминалось VonC. Для удаления ветки с именем -c, с другой стороны, это потребуется.

...