views:

241

answers:

3

I have a repository that has an svn:externals property that points to a different repository with different credentials.

When cruise control runs, it is not able to connect to the external repository.

I understand why this is happening. CC.NET doesn't pull externals when it updates the repository. Instead, it updates the repository and then checks the svn:externals property. Using that it goes and pulls each external.

In addition, CC.NET always passes the flag --no-auth-cache flag to svn. The result is that when CC.NET tries to upday my externals it fails because the username and password are wrong.

What I can't figure out is how to overcome this problem. Is there a workaround or am I doing something wrong?

+1  A: 

Interesting problem...

If you have remote desktop access to the CC.NET server, can you use the svn client to do the initial sync, and 'store' the credentials?

John Weldon
if I understand what you are saying, I already tried that. If I login as the user that the cruise control service runs under and perform the SVN up on my repository, I am prompted for the credentials to the extern. And if I do another UP it remembers. But, when CC.NET runs it uses the command line svn.exe log https : / / externrepo/trunk -r "{2010-01-07T18:58:23Z}:{2010-01-07T18:58:59Z}" --verbose --xml --username svnusr --password svnpwd --non-interactive --no-auth-cache Where the username and password are the username and password of the main repository not the extern repository.
Zack
hmm... I suppose you could always download the source and make your own changes :)
John Weldon
A: 

Looking at the code, I don't think it is meant to handle your situation. The only way I can think of to handle this would be to use two different subversion tags and not use the externals mechanism. You should enter this as a feature request if this is a pretty normal situation.

Alex
I submitted it and they added my suggestiong. I'm testing the current dev build now
Zack
A: 

I submitted this to CC.NET and they made some changes and I'm testing it now. The current fix is to add an option to turn off passing the credentials on the command line so that it will read the cached credentials. I'm testing it now.

Zack