Version of code used to build

Hello,

is it possible in ContinuaCI to check which exactly version of code is used to build project? The best information would be an revision number or id from repository. I have problem with one of my projects. During build an error is occuring:

Error in Action Local variables : Variable p_LastOperationTime Is of Type DateTime 
Failed to set the value : Could not convert variant of type (UnicodeString) into type (Date)

But the problem is that type variable p_LastOperationTime was changed to type String some time ago. In FinalBuilder script works perfectly and in Continua is still exception raised. Maybe in ContinuaCI wrong version of code is updated from repository. But I have no idea how to check this. Earlier in FinalBuilderSever updating was done manually from FinalBuilder script. So I have seen all subversions messages in log. And where I should to search those informations in ContinuaCI?

Maybe the problem occurs because problematic script is in external repository. For repository in Continua are selected options: Detect and checkout, and check externals on externals. I found information about used revision in build log on changes tab. To the build process is updated correct version from repository. So now I’m doubt. I have tried to reset repository - it does not helps. I have no idea where the problem exactly exists.

Hi Adam,

As you have noticed, the Changes tab of the build view shows the changesets which are built. You can also see which files are copied from each repository in the build log if you tick the  “Log repository files copies” option in the Repository Rules tab of the Stage Options.

If you choose the Checkout option for Subversion externals, Continua will check out any associated externals only when it detects (and checks out) a changeset on the main repository. If the external is not pegged to a revision then it will check out the latest revision of the external at that time. Any changesets created in the externals will not generate a new changeset in Continua. 

If you choose the Detect and Checkout option then Continua will also detect changesets in the external repositories. When it detects an external changeset, it will check out both the main repository and external repositories, and create a new Continua changeset. The changeset id will be the revision number of the changeset in the main repository and the comment will be marked with the external revision e.g.

71SvnTesttrunk [external1@4]: edited one file in external 1
71SvnTesttrunk edited one file in trunk

The “checkout externals on externals” option tells Continua to checkout any externals specified on the external repositories. If this option is not ticked the “–ignore-externals” parameter is used when checking out externals on the main repository. Continua does not detect new changes in externals on external repositories.

It may help to understand the Continua process. Continua maintains a cache for each repository. This is implemented as a Mercurial repository and is stored in your Continua share folder under C:\ContinuaShare\Rc. When Continua detects a changeset it checks out the files, adds them as a changeset to this repository cache and stores a record in the changeset table in the database. The repository cache is used as an efficient way to sync files from the server to each agent. You can list the contents of this repository cache using the Mercurial command line.

If you still seem to be getting the wrong files in the build, send us a screen shot of your build changes tab. Also let us know your repository settings. The easiest way to do this is to download a diagnostics report from the Administration -> Event Log  page. You can send this to support@finalbuilder.com rather than posting publically. 

You can also enable debug logging on the server. If you then reset the repository, the debug log will list the Subversion commands used be Continua allowing us to understand what could be going wrong.

I found the problem. In Continua everything works correctly. The problem was in… FinalBuilder script. Include Project action used version of script for FinalBuilder 7 not for FinalBuilder 8. That is why while build process was conversion exception raised. Thank you very much for information about Continua CI logging system. It helped me a lot.