1

我们正在将两台旧的 cvs 服务器合并到一个新机器上。

我曾希望:更改 oldserver1 和 oldserver2 的 dns 条目(以及一些用户帐户维护)将使移动对 cvs 用户透明。

问题:
由于每台旧服务器上的 cvs 根目录不同,我遇到了问题。

背景
旧服务器具有以下 cvs 存储库目录:

  • 旧 server1 cvs 根目录:/cvshome
  • 旧 server2 cvs 根目录:/usr/local/cvs

在发行版中,我们使用的默认存储库目录是 /var/cvs。我选择坚持这一点,即:

  • 新服务器 cvs 根目录:/var/cvs

目标
我希望对现有签出项目的干扰最小,即不必查找/替换公司每个硬盘驱动器上的所有“根”文件。

澄清一下,旧 server1 的 CVSROOT 和 CVS/Root 条目如下所示:

pserver:username@oldserver1:/cvshome

我试过这个的尝试
:在新服务器上创建一个符号链接

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

但是,当我尝试更新(即从指向旧服务器 1 的工作站)时,我收到此错误:

/cvshome : no such repository

总结
我可以使用链接到“别名”一个 cvs 存储库吗?

还是我需要“咬紧牙关”并更改所有硬盘驱动器上的所有“根”文件

谢谢,
比尔

4

2 回答 2

1

在 Linux 上,当您为命令提供指向目录的符号链接的路径时,是否附加斜杠会有所不同:

$ ls -l /cvsroot

将列出符号链接的 inode,而

$ ls -l /cvsroot/

将列出符号链接指向的目录的内容。这种行为不同于 cvsroot 是实际目录时所看到的行为。

我不确定这是否是您的问题,但请尝试附加斜线。如果有帮助,您应该能够对存储库根目录下的所有内容进行检查、更新等。

于 2009-03-07T16:29:34.267 回答
0

这可能对某人有所帮助,很抱歉对旧线程发表评论。

对我有用的是更改 /etc/xinetd.conf 中的 --allow-root :

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

符号链接/别名现在可以在我移动存储库的这个新服务器上工作。

于 2013-03-28T07:55:34.540 回答