我在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"
重启我的电脑没有任何帮助。我是如何进入这种状态的,我如何才能走出这种状态?
发布于 2010-07-22 06:37:12
由于您没有为logout
命令指定CVSROOT (即-d
选项),因此CVS只能从环境块或已检出的工作副本(即./CVS/Root
文件)的元数据中获取此选项。是否可以通过环境变量指定CVSROOT,而忘记了第二个冒号(即端口号后的冒号)?此外,显式地指定端口2401也不是必要的,因为它已经是:pserver:
的默认端口(并且在您的示例中,在运行login
命令时实际上没有指定端口)。
在任何情况下,只有当指定的logout
与用于登录的CVSROOT匹配时,CVSROOT才能工作。
最后,您应该知道login
和logout
不会界定“会话”。CVS使用无会话协议。CVS命令实际做的是在本地缓存您的密码,这样您就不必为每个命令重新输入密码( login
每次都隐式地从缓存中读取密码)。Logout
会再次从缓存中删除密码,因此下次运行命令时,您必须再次输入密码。
https://stackoverflow.com/questions/3300731
复制相似问题