Как может 'cvs logout' не работать? - PullRequest
2 голосов
/ 21 июля 2010

Я в системе 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 Ответ

3 голосов
/ 22 июля 2010

Поскольку вы не указали CVSROOT (т. Е. Параметр -d) для команды logout, CVS может получить это только из блока среды или из метаданных уже извлеченной рабочей копии (т. Е. * 1003). * файл). Может быть, вы указали CVSROOT через переменную окружения и забыли второе двоеточие (то есть после номера порта)? Кроме того, указывать порт 2401 явно не нужно, поскольку он уже является портом по умолчанию для :pserver: (и в вашем примере вы фактически не указали порт при запуске команды login).

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

Наконец, вы должны знать, что login и logout не разграничивают "сеанс". CVS использует протокол без сессий. На самом деле команда login локально кеширует ваш пароль, поэтому вам не придется вводить его повторно для каждой команды (CVS неявно читает его из кеша каждый раз). Logout снова удаляет пароль из кеша, поэтому при следующем запуске команды вам придется вводить его снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...