Problems updating an svn:External in Subversion using https/ssl via CruiseControl.Net
I have been diligently working on the build process here at work and I
ran into an interesting problem. There is plenty of information on
the matter on Thoughtworks website, but I wanted to post it here as a
reference.
The problem is an interesting one, I don't know if I can explain it
well enough, but I will try.
We have a couple of dependencies on third party files in our product.
These third party files are part of our source code repository via a
feature called Externals. I would say this is somewhat equatable to a
symlink for Subversion. We can reference a different subversion
repository as a directory in our repository.
Suppose I have a repository like this:
svnroot
trunk
MyCoolCode
I put all of my local project files into the "MyCoolCode" directory.
Let's say someone has a really cool utility library that I want to
include in my project as well. There are several options, but
svn:Externals allows me to check out the code from a remote repository
down into my local files. This makes managing the consumption of an
external project much easier.
Back to the problem....I happen to be pulling this external codebase
from an svn repository that is over https. So when I execute the svn
update command from a command line for the first time, I get a warning
or prompt stating that I need to either Reject, Accept Temporarily or
Accept permanently the https certificate. This is all fine and dandy
and it works when I do it manually, but my ccnet service is currently
running under the LocalSystem account. I am just testing some things
out with the build process in general, normally I would create a
service account to run it under. What I ended up having to do was
launch a cmd.exe running under the LocalSystem account and then run
the svn update command again and permanently accept the http
certificate.
A bit of a beating if you ask me. The links below made it pretty easy
to solve the issue.
http://confluence.public.thoughtworks.org/display/CCNET/Subversion+Source+Control+Block?showComments=falsehttp://confluence.public.thoughtworks.org/display/CCNET/The+Server+Service+Applicationhttp://blogs.msdn.com/adioltean/articles/271063.aspx[tags:subversion, svn, external, externals, build process, build,
ccnet, cruisecontrol.net, http, ssl]