SubVersion externals

After 1.0.0.1355 Uploaded the subversion doesn't make external checkout anymore. 

I try the 3 diferentes configurations:

  • - Igonre
  • - Checkout
  • - Detect and checkout


Thanks,

Pedro Lopes

Hi Pedro

We did change how externals are handled, and I suspect what may be happening is your main repo has not seen any new changes since you updated Continua with the new externals code? If that’s the case then the simple fix is to just commit a new change to the svn repo. The reason for this is that the externals information is now recorded with the changeset (so that when we export a changeset we get the correct revisions of the externals for that revision of the repository), and what what is happening is the old changesets do not have the external info and thus they don’t get exported.

I don’t think so. 
I create a new project with new svn repository, when it builds the folders linked  as externals isn’t checked out, the build fail because of it.
In the Continua CI Server Agent folder (in my case E:\CI_WS\Ws\191\Source\ERPRetail) the externals folders isn’t there.




Not sure what is going on here. What version of svn are you using?

This is how we do it.

svn log - parsing the output gets us a list of changesets since the last one we saw.

for each new changeset
get the externals (svn propget svn:externals -r changeset revision)
for each external
get the external revision at the date of the changeset
record the external and it’s revision with the changeset

Then for each changeset :
export the changeset revision with ignore externals
if not ignoring externals
for each external in changeset
export external

Note : externals are parsed to get the revision, path and url

The reason we do it this way is because the export command always exports the externals based on the externals defined on the head revision, which means if we export a revision that is not the head, there is the potential to have the wrong external versions exported.

Another thing to note with externals is credentials. If the external uses the same protocal as the main repo, same port and same host, we attempt first with the same credentials as the main repo, if that fails then we attempt with no credentials.

Run this svn command from your svn working folder :

svn propget svn:externals your-repo-url

and post the output here (or email to support@finalbuilder.com if it’s sensitive info) along with the url of the main repo.

Also I just noticed the validation doesn’t test the externals, we should be able to add that. We should have a new build out next week with more debug logging for the subversion repo (we’re still chasing an issue with branches). Its a holiday here on Monday so it might be Tuesday before we get that build out.