Создание представления CVS из ветки с пустыми каталогами

Я использую команду cvs -tag -b "abcdefg" для пометки ветки в моем CVS. В моем CSV-репозитории есть пустой каталог «obj» в каждой папке.

Всякий раз, когда я использую команду cvs co -r "abcdefg" REPO, я получаю полный репозиторий без пустых папок. Я тоже пытался использовать опцию -f, но это не сработало. Как выбраться из этого?


person foo    schedule 08.12.2008    source источник
comment
Спасибо за быстрый ответ. Я отвечу на них один за другим. -1 В .cvsrc нет ничего, связанного с опцией -P. -2 Я использовал и тег, и rtag и ничего не проверял перед тем, как поставить тег. Вывод после новой проверки был одинаковым в обоих случаях. Я смог вернуть каталоги, введя команду cvs update -d. Хотя я бы все же хотел, чтобы это работало в одной команде. PS: Проблема только с чекаутами в ветку, если я использую cvs co REPO, то все папки доступны в этом случае.   -  person foo    schedule 08.12.2008
comment
Странно, я только что проверил ветку и действительно получил пустые папки. Однако в них мог быть контент в предыдущих выпусках, и я использую cvsnt.   -  person Ulf Lindback    schedule 08.12.2008


Ответы (2)


Каталоги никаким образом не версионируются в CVS. Когда вы выполняете извлечение с помощью тега ветки в CVS, извлекаются только те каталоги, в которых есть файлы, соответствующие запрошенному тегу ветки. Поскольку все каталоги "obj" пусты, CVS не знает, как их проверить. Когда вы запустите обновление, оно «исправит» состояние вашей рабочей копии и получит пустые каталоги.

person John Meagher    schedule 08.12.2008

Если вы не укажете -P (обрезать пустые каталоги), вы должны автоматически получить все пустые каталоги.

Вы проверили, может быть, у вас есть файл .cvsrc, в котором указано что-то вроде

co -P

Он должен находиться в вашем каталоге $HOME.

Если это не так, вопрос в том, установлен ли ваш тег в пустых каталогах? Были ли у вас проверены пустые каталоги, когда вы выполняли операцию с тегами?
Операция с тегами помечает только те материалы, которые у вас есть в вашей песочнице, чтобы пометить все в репозитории, вместо этого используйте rtag.

person Ulf Lindback    schedule 08.12.2008
comment
-P удалит только пустые каталоги, которые уже были извлечены ранее (например, после того, как из них были удалены все файлы cvs) - не указание -P НЕ будет извлекать пустые каталоги. - person Oliver Giesen; 09.12.2008