Командная строка для удаления всего ClearCase частные на представление файлы

Два операнда (1 и 3) являются целыми числами, поэтому используется целочисленная арифметика (деление здесь). Объявление переменной результата как double просто приводит к возникновению неявного преобразования после деления .

Целочисленное разделение конечно возвращает истинный результат деления, округленный до нуля. Таким образом, результат 0.333... округляется до 0. (Обратите внимание, что процессор фактически не делает никакого округления, но вы можете думать об этом так же).

Также обратите внимание, что если указаны оба операнда (числа) как плавающие; 3.0 и 1.0, или даже только first , то используется арифметика с плавающей запятой, дающая вам 0.333....

15
задан mbyrne215 15 December 2008 в 21:04
поделиться

6 ответов

Несколько комментариев:

  • ct lsprivate является большим для динамических представлений, не создают снимки представления
  • ct ls -rec -view_only, а также ct lsprivate также перечисляют Ваши проверенные файлы... Я не уверен, что Вы хотите удалить их...

Для списка частных файлов (только частные, не угнанные можно хотеть сохранить), у Вас должна быть команда что:

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

    for /F "usebackq delims=" %i in (`cleartool ls -r ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do @echo "%i"

, Который перечисляет все Ваши частные файлы (пропускающий угнанные/затмеваемые/проверенные или нечастные, а также символьные ссылки) в чистом Windows путь (никакая внешняя необходимая зависимость от оболочки).
Замена @echo "%i" del /F "%i" и их не стало.
Примечание двойные кавычки вокруг %i, для отображения/удаления правильно файлов с пробелами на их имя. Также отметьте отсутствие cleartool параметра-nxn, поскольку символьные ссылки иначе были бы неразличимы, и частные на представление файлы не украшаются так или иначе.

, Чтобы также избавиться от частных каталогов, первый показ команда с rmdir /S /Q "%i" и затем с del /F "%i".

22
ответ дан 1 December 2019 в 01:00
поделиться

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

ct lspriv | grep -v checkedout | xargs rm -rf
5
ответ дан 1 December 2019 в 01:00
поделиться

Я всегда использовал:

ct lsprivate  | xargs rm
3
ответ дан 1 December 2019 в 01:00
поделиться

На Unix (динамические представления) одна очень эффективная техника для удаления представления частные файлы состоит в том, чтобы отбросить представление. Сохраните cspec сначала. Также удостоверьтесь, что в представлении нет никакого контроля. Затем удалите его и воссоздайте новый (то же имя, тот же cspec, то же устройство хранения данных, но никакие частные файлы, пока Вы не создадите их).

# With the view to be cleaned as your current view...
ct pwv -s > /tmp/viewname
viewname=$(</tmp/viewname)
ct catcs > /tmp/$viewname.cs
ct lsview -cvi | awk '{print $3;}' > /tmp/$viewname.vws
# The next line is the first dangerous line!
# It cancels all outstanding checkouts and removes the modified files
ct lsco -cvi -s -avo 2>/dev/null | xargs ct unco -rm  # Or: xargs ct ci -nc
exit            # Terminate the session in the view
viewname=$(</tmp/viewname)
rm /tmp/viewname
# The next line is the second dangerous line
ct rmview -tag $viewname
ct mkview -tag $viewname $(</tmp/$viewname.vws)
ct setcs  -tag $viewname /tmp/$viewname.cs
rm /tmp/$viewname.cs

Все представление частных файлов не стало - и Вы минимизировали свое использование диска.

, Если Вам повезло только работать с единственным VOB, можно опустить' -avo' (весь VOBs) опция.' 2>/dev/null' перенаправление теряет ошибки от недоступного VOBs - у меня есть больше чем 100 видимых, но недоступных VOBs в моей среде кроме приблизительно дюжины доступных, которые я действительно использую.

Примечание, что при упаковке этого как' rebuild.view' сценарий Вы взяли бы viewname в качестве аргумента (работающий снаружи представления - это не будет текущее представление), и Вы могли затем сделать очистку в представлении, использовать другую 'lsview' опцию нуждаться в деталях и обычно убегать от временного хранения в/tmp (хотя необходимо будет кэшировать cspec где-нибудь).

Еще один момент, который необходимо отметить, - Вы хотели бы удостовериться выполнение ручной очистки прежде, чем выпустить автоматическое. Не должно быть никакого контроля, например. С другой стороны, запишите сценарий, чтобы отказаться отбрасывать представление, если существует какой-либо контроль.

2
ответ дан 1 December 2019 в 01:00
поделиться

Я закончил тем, что использовал эту команду в Cygwin:

cleartool ls -recurse -view_only | sed -e 's:\\:/:g' | xargs rm -r

sed необходим для изменения путей стиля Windows, произведенных cleartool в пути стиля Unix. Там существует, вероятно, более эффективная команда. Эти броски, которыми много ошибок, потому что это удаляет каталог и затем любые ранее найденные частные на представление файлы под тем каталогом, не будет найдено комнатой, Но Вы получаете правильный результат в конце.

РЕДАКТИРОВАНИЕ: VonC указывает, что это только работает с динамическими представлениями ClearCase

1
ответ дан 1 December 2019 в 01:00
поделиться

что относительно использования cygpath управляют вместо sed?
Вы можете, нашел больше информации о cygpath.exe здесь:
текст ссылки

способ связать cygpath.exe с другими программами состоит в том, чтобы использовать xargs.
пример: processA | xargs cygpath-u> my-path-in-unix-format.txt

0
ответ дан 1 December 2019 в 01:00
поделиться
Другие вопросы по тегам:

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