Могу ли я использовать символические ссылки для cvs root, чтобы упростить консолидацию сервера? - PullRequest
1 голос
/ 07 марта 2009

Мы объединяем два старых сервера cvs в одну новую коробку.

Я надеялся на следующее: изменение записей DNS для oldserver1 и oldserver2 (а также обслуживание некоторых учетных записей пользователей) сделало бы этот шаг прозрачным для пользователей cvs.

Проблема:
У меня проблемы из-за разных корней cvs на каждом старом сервере.

Фон
Старые серверы имели следующие каталоги репозитория cvs:

  • старый сервер1 cvs root: / cvshome
  • старый server2 cvs root: / usr / local / cvs

В дистрибутиве мы используем каталог репозитория по умолчанию / var / cvs. Я решил придерживаться этого, то есть:

  • новый корень сервера cvs: / var / cvs

Цель
Мне бы хотелось, чтобы в существующих проверенных проектах было минимальное нарушение, т. Е. Не нужно находить / заменять все корневые файлы на каждом жестком диске в компании.

Для пояснения, записи CVSROOT и CVS / Root для старого сервера1 выглядят так:

pserver:username@oldserver1:/cvshome

Попытка
Я попробовал это: создать символическую ссылку на новом сервере

/cvshome points to /var/cvs
ln -s /var/cvs /cvshome

Однако, когда я пытаюсь обновить (то есть с рабочей станции, которая указала на старый сервер 1), я получаю эту ошибку:

/cvshome : no such repository

Краткое описание
Могу ли я использовать ссылки на «псевдоним» репозитория cvs?

ИЛИ мне нужно «прикусить пулю» и изменить все «корневые» файлы на всех жестких дисках?

спасибо,
Счет

Ответы [ 2 ]

1 голос
/ 07 марта 2009

В Linux, когда вы даете команде путь к символической ссылке, которая указывает на каталог, имеет значение, добавляете ли вы косую черту или нет:

$ ls -l /cvsroot

будет перечислять инод символической ссылки, а

$ ls -l /cvsroot/

будет перечислять содержимое каталога, на который указывает символическая ссылка. Это поведение отличается от того, которое вы увидели бы, если бы cvsroot был действительным каталогом.

Я не уверен, что это ваша проблема, но попробуйте добавить косую черту. Если это поможет, вы сможете проверять, обновлять и т. Д. Всего, что находится ниже корня хранилища.

0 голосов
/ 28 марта 2013

Это может помочь кому-нибудь, извините, комментировать старую ветку.

Для меня сработало изменение --allow-root в /etc/xinetd.conf:

server_args = -f --allow-root /usr/local/cvsroot pserver

Символическая ссылка / псевдоним теперь работает на этом новом сервере, куда я переместил хранилище.

...