Я ищу процесс, который позволит мне передать произвольное дерево каталогов ClearCase. Дерево может содержать обычные файлы, каталоги и символические ссылки (для файлов или каталогов).Как скопировать произвольное дерево каталогов
Мы работаем с динамическими представлениями исключительно, и мне было дано старшими членами команды следующий процесс, чтобы следовать в таких случаях (предположим, что мне нужно совершить, чтобы ClearCase всю структуру каталога foo
):
перейти в справочник, где есть
foo
и не показывать:ct checkout.
регистр все файлы в
foo
как ClearCase объектов:кт mkelem -mkpath $ (найти Foo -типа е)
регистрация в новоиспеченных объектов ClearCase:
каратов či $ (кт lscheckcout -me -cvi -recu -sho Foo)
совершают
ct ci.
Выше, похоже, работает для обычных файлов, но не при наличии символических ссылок.
E.g. если я сделаю следующее:
mkdir foo && cd foo
touch a && ln -s a a2 && cd ..
& hellip; и затем следовать выше процессу (изменение find
колдовства на шаге 2, чтобы использовать find -type f -o -type l
), шаги # 1 и # 2 успешно выполнить:
$ ct co .
Checkout comments for ".":
.
Checked out "." from version "/main/dbdev_br/2".
$ ct mkelem -mkpath $(find foo -type f -o -type l)
Creating parent directory element "foo".
Created directory element "foo".
Checking out parent directory "foo".
Created branch "dbdev_br" from "foo" version "/main/0".
Creation comments for "foo/a":
.
Created element "foo/a" (type "text_file").
Created branch "dbdev_br" from "foo/a" version "/main/0".
Checked out "foo/a" from version "/main/dbdev_br/0".
Creation comments for "foo/a2":
.
Created element "foo/a2" (type "text_file").
Created branch "dbdev_br" from "foo/a2" version "/main/0".
Checked out "foo/a2" from version "/main/dbdev_br/0".
& hellip; но когда я пытаюсь выполнить шаг # 3, я получаю:
Checked in "foo/a" version "/main/dbdev_br/1".
Private version of "foo/a2" saved in "foo/a2.keep".
cleartool: Warning: Operation "view_change_oid" failed ("foo/a2"): Read-only file system.
cleartool: Warning: VOB updated, but view update of uncheckout of "foo/a2" failed: error detected by ClearCase subsystem.
Checked in "foo/a2" version "/main/dbdev_br/1".
Что процесс, который я должен использовать, чтобы совершить произвольное дерево каталогов (с регулярными файлами, каталогами и симлинками) в ClearCase? Я ищу что-то, что я могу выполнить сценарий, так что мне не нужно делать это вручную, файл по файлу, каталог по каталогу и т. Д. Сценарий также позволит мне применять одно и то же сообщение фиксации.
В мерзавца было бы так просто, как:
git add foo
git commit -m 'foo added'
Когда я пытаюсь '$ clearfsimport -recu Foo .' (совершить каталог' Foo', где он уже есть) я получаю: 'clearfsimport : Ошибка: разрешение отклонено: не владелец VOB или привилегированный пользователь. clearfsimport: Ошибка: невозможно импортировать в ".". '. Если я попробую '$ ct clearfsimport', я получаю' cleartool: Ошибка: Unrecognized command: "clearfsimport" ' –
@MarcusJuniusBrutus Нет: переместите папку foo в« внешнее »представление, затем очистите его обратно в представлении. – VonC
Я переместил его в какой-то временный каталог, а затем выполнил: 'clearfsimport ~/tmp/foo /.' Аналогичная проблема: 'clearfsimport: Error: Permission denied: не владелец VOB или привилегированный пользователь. clearfsimport: Ошибка: невозможно импортировать в... –