'cvs logout'怎么能不起作用?

时间:2010-07-21 15:05:11

标签: cvs

我在Windows XP系统上,我从命令行执行此命令:

cvs -d :pserver:CharlesAnderson@ServerName/RepositoryName login -p <pw>

生成此响应:

Logging in to :pserver:CharlesAnderson@servername:2401:/RepositoryName

如果我输入:

cvs logout

我收到此消息:

cvs logout: bad CVSROOT - Cannot specify port: ":pserver:CharlesAnderson@ServerName:2401/RepositoryName"

重新启动我的电脑没有帮助。我是如何进入这种状态的,如何摆脱它呢?

1 个答案:

答案 0 :(得分:3)

由于您没有为-d命令指定CVSROOT(即logout选项),因此CVS只能从环境块或已检出的工作副本的元数据中获取此值(即./CVS/Root文件。你是否可以通过环境变量指定CVSROOT并忘记第二个冒号(即端口号后面的冒号)?此外,显式指定端口2401不是必需的,因为它已经是:pserver:的默认端口(在您的示例中,当您运行login命令时实际上没有指定端口)。

在任何情况下logout仅在指定的CVSROOT与用于登录的CVSROOT匹配时才有效。

最后,您应该知道loginlogout不会划分“会话”。 CVS使用无会话协议。 login命令实际执行的操作是在本地缓存您的密码,因此您不必为每个命令重新输入密码(CVS每次都会从缓存中隐式读取它)。 Logout再次从缓存中删除密码,以便下次运行命令时,您必须再次输入密码。