Continuum

Continuum ignores .cvspass

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Critical Critical
  • Resolution: Fixed
  • Affects Version/s: 1.0.1
  • Fix Version/s: 1.0.2
  • Component/s: Core system
  • Labels:
    None
  • Environment:
    TortoiseCVS 1.8.22
    Microsoft Windows Server 2003 SP1
  • Complexity:
    Intermediate
  • Number of attachments :
    0

Description

Continuum seems to ignore the .cvspass file while building my projects, resulting in the error: "Empty password used - try 'cvs login' with a real password". Note that our CVS repository does not have anonymous access, nor does it use the "anonymous" account.

I see these two lines in the log, which look suspicious:
31321 [Thread-1] DEBUG org.apache.maven.scm.manager.ScmManager - passFile: C:\Documents and Settings\Default User\.cvspass
31321 [Thread-1] DEBUG org.apache.maven.scm.manager.ScmManager - cvsroot [CENSORED] already exists in C:\Documents and Settings\Default User\.cvspass. SKIPPED.

...what the heck? I don't want it to skip that password, I want it to USE that password! This behavior seems completely wrong to me. Note that running a "cvs checkout" command from the command line works just fine.

Activity

Hide
Matthew Beermann added a comment -

Nevermind those log lines; it was just trying to tell me that it didn't need to update .cvspass. The bug still stands, though. More from my log:

1807896 [Thread-1] DEBUG org.apache.maven.scm.manager.ScmManager - Command line: cvs -f -q update -d
1808924 [Thread-1] WARN org.apache.maven.continuum.scm.ContinuumScm - Command output: Empty password used - try 'cvs login' with a real password

(The command line looks a little weird - shouldn't there be something after that -d ?)

Show
Matthew Beermann added a comment - Nevermind those log lines; it was just trying to tell me that it didn't need to update .cvspass. The bug still stands, though. More from my log: 1807896 [Thread-1] DEBUG org.apache.maven.scm.manager.ScmManager - Command line: cvs -f -q update -d 1808924 [Thread-1] WARN org.apache.maven.continuum.scm.ContinuumScm - Command output: Empty password used - try 'cvs login' with a real password (The command line looks a little weird - shouldn't there be something after that -d ?)
Hide
Matthew Beermann added a comment -

In fact, that command line ("cvs -f -q update -d") is DEFINITELY wrong - if I enter that manually, CVS fails with the same error message that Continuum sees. But I can do "cvs -d :pserver:etc update mymodule" from the command line successfully. Is it just choosing a poor set of command flags?

Show
Matthew Beermann added a comment - In fact, that command line ("cvs -f -q update -d") is DEFINITELY wrong - if I enter that manually, CVS fails with the same error message that Continuum sees. But I can do "cvs -d :pserver:etc update mymodule" from the command line successfully. Is it just choosing a poor set of command flags?
Hide
Emmanuel Venisse added a comment -

cvs -f -q update -d isn't a wrong command.
-d is an option of update command for retrieving absent directories (http://cvsbook.red-bean.com/cvsbook.html#update)

your command and command run by continuum are the same, the only difference is that you don't run it in the same directory

tortoiseCvs doens't use a standard cvs client but cvsNT that doesn't use .cvspass file. CvsNT store password in windows registry, it's why you need to run manually a cvs login.

I think the difference in result of your command and our comand is that you don't run it in the continuum working directory and you don't use the exactly same cvsroot

Show
Emmanuel Venisse added a comment - cvs -f -q update -d isn't a wrong command. -d is an option of update command for retrieving absent directories (http://cvsbook.red-bean.com/cvsbook.html#update) your command and command run by continuum are the same, the only difference is that you don't run it in the same directory tortoiseCvs doens't use a standard cvs client but cvsNT that doesn't use .cvspass file. CvsNT store password in windows registry, it's why you need to run manually a cvs login. I think the difference in result of your command and our comand is that you don't run it in the continuum working directory and you don't use the exactly same cvsroot
Hide
Matthew Beermann added a comment -

Well, then, I would put it this way:

When you run "InstallService.bat", Continuum uses the default service settings (Log On As: Local System), which corresponds to the "Default User" account. So far as I know, it's not possible to actually log in to that account, meaning there's no way to run "cvs login", meaning there's no way to get the correct registry keys in place.

So really, when you're running with CVSNT, you should run the Continuum service as a real user, and make sure that user has issued the appropriate "cvs login" command. Could a documentation note to that effect be added to the site?

Show
Matthew Beermann added a comment - Well, then, I would put it this way: When you run "InstallService.bat", Continuum uses the default service settings (Log On As: Local System), which corresponds to the "Default User" account. So far as I know, it's not possible to actually log in to that account, meaning there's no way to run "cvs login", meaning there's no way to get the correct registry keys in place. So really, when you're running with CVSNT, you should run the Continuum service as a real user, and make sure that user has issued the appropriate "cvs login" command. Could a documentation note to that effect be added to the site?
Hide
Emmanuel Venisse added a comment -

Are you volunteer to write this part of documentation?
A faq will be sufficient.

Show
Emmanuel Venisse added a comment - Are you volunteer to write this part of documentation? A faq will be sufficient.
Hide
Matthew Beermann added a comment -

Sure...

Q: I'm running on Windows, and Continuum can't log in to my CVS repository! What's going on?

A: You're probably running the CVSNT client, or another application based on it, like TortoiseCVS. CVSNT stores passwords in the registry, rather than the ~/.cvspass file. You'll need to issue the following command manually (but only once), with the appropriate information filled in:

cvs -d :pserver:account@cvsserver:2401:/rootfolder login

Also, note that the login will only be saved for the particular user who typed it. If you're running Continuum as a service, double-check the user it is running as, and make sure that you run cvs login as that user.

Show
Matthew Beermann added a comment - Sure... Q: I'm running on Windows, and Continuum can't log in to my CVS repository! What's going on? A: You're probably running the CVSNT client, or another application based on it, like TortoiseCVS. CVSNT stores passwords in the registry, rather than the ~/.cvspass file. You'll need to issue the following command manually (but only once), with the appropriate information filled in: cvs -d :pserver:account@cvsserver:2401:/rootfolder login Also, note that the login will only be saved for the particular user who typed it. If you're running Continuum as a service, double-check the user it is running as, and make sure that you run cvs login as that user.
Hide
Emmanuel Venisse added a comment -

Faq is added

Show
Emmanuel Venisse added a comment - Faq is added

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: