Clearcase Многофайловое переименование - PullRequest
2 голосов
/ 04 декабря 2008

У меня есть большое количество файлов в структуре каталогов ClearCase, и мне нужно пройти и изменить весь «makefile» на «Makefile». Я думаю о некоторой комбинации команды find . -name makefile с флагом exec, но мне сложно найти команду exec. Команда cleartool mv не автоматически проверяет каталог, поэтому мне нужно проверить это, а затем выполнить mv. Но, насколько я могу судить, единственное, с чем мне нужно работать, это символ% CLEARCASE_PN%, который дает мне полный путь. Поэтому мне нужно разобрать каталог из этого. Я надеюсь, что кто-то, кто лучше с оболочкой, чем я, может найти правильную команду быстрее, чем я смогу ее разгадать.

У меня есть cleartool, Windows cmd и Cygwin для работы здесь.

1 Ответ

3 голосов
/ 04 декабря 2008

Полагаю, у вас есть bash в вашей среде cygwin. Если вы это сделаете, вы можете написать небольшой скрипт bash, используя этот ответ на предыдущий вопрос, в виде:

#!/bin/bash
FILE=$1
DIR_NAME=$( dirname $FILE )
FILE_NAME=$( basename $FILE )

#checkout directory $DIR_NAME with whatever the cleartool command is
#rename with cleartool $DIR_NAME/$FILE to $DIR_NAME/new_name

/usr/atria/bin/cleartool checkout -nc $DIR_NAME; 
/usr/atria/bin/cleartool mv $DIR_NAME/$FILE_NAME $DIR_NAME/Makefile;

Затем вызовите скрипт с:

find . -name orig_name -exec myscript.sh {} \;

Предупреждения:

  • каталог, уже извлеченный, вызовет сообщение об ошибке при извлечении снова (может быть проигнорировано)
  • вам придется зарегистрировать все каталоги, извлеченные во время этого процесса, иначе никто не увидит результат перемещения (кроме тех, которые обращаются к этому текущему виду)
...