Warning: strpos(): needle is not a string or an integer in /customers/a/f/c/fjorden.se/httpd.www/joel/index.php on line 31 Warning: strpos(): needle is not a string or an integer in /customers/a/f/c/fjorden.se/httpd.www/joel/index.php on line 37 Warning: strpos(): needle is not a string or an integer in /customers/a/f/c/fjorden.se/httpd.www/joel/index.php on line 43 Blog by Joel Fjordén a.k.a. Will o Wisp
Code Style Enforcer 3.0.71 Supporting DXCore 10.2.9 
Thursday, July 7, 2011, 12:29 PM - Code Style Enforcer
Code Style Enforcer 3.0.71 rebuilt against new version of DXCore 10.2.9.

Download Code Style Enforcer 3.0.71
9 comments ( 185 views )   |  related link

Temporarily Disable Push in Mercurial (Hg) 
Thursday, July 7, 2011, 07:26 AM - General
We use Mercurial and TeamCity as CI server and have been experiencing some problems lately when developers are pushing Hg change-sets to the server when a build is in progress. The problem is that TeamCity first pulls and updates before starting the build and then during the build some files are generated and/or updated, like help files and version files (but also the .hgtags file). Then as the final step in the build process when it’s time for TeamCity to commit and push the changes there will be a problem if a new push has been made since the start of the build process, i.e. we will get an error message like "push creates new remote heads".

One solution to this is of course to pull, update, merge (if needed) and commit, or the Hg Fetch extension, but what we really wanted was to somehow prevent developers to push change sets into the remote server repository during the build process of that specific project in TeamCity.

After quite a lot of research on Google, I still couldn’t find any existing solution to this, so I started thinking about how we could manage this ourselves. The solution I came up with was to develop a very simple, but yet quite smart, REST service hosted on the same machine as the Hg repositories. The service exposes endpoints for EnablePush/DisablePush together with the name of the target repository. What the service implementation does is then to temporarily change the hgrc file in the repository to disable push, but not for everyone, since the automated build account used by TeamCity for Mercurial still needs Push access (allow_push = Mercurial). In order to enable Push again when the build is completed we then allow everyone with an account in the AD to Push again (allow_push = *).

In order to use the REST service from TeamCity I discovered a very useful plugin called tcWebHooks that allows HTTP POST on TeamCity events like build started and build completed. Here is a configuration example of tcWebHooks for enabling/disabling Hg Push for a specific project and repository using the custom made RIA service.

If you’re interested in the service install package or source code, let me know and I’ll send it to you!
1 comment ( 94 views )   |  related link

Code Style Enforcer 3.0.51 Supporting DXCore 10.2.5 
Monday, March 7, 2011, 09:12 PM - Code Style Enforcer
Code Style Enforcer 3.0.51 rebuilt against new version of DXCore 10.2.5.

Download Code Style Enforcer 3.0.51
2 comments ( 154 views )   |  related link

Code Style Enforcer 3.0.43 Supporting DXCore 10.2.3 
Sunday, December 12, 2010, 07:45 PM - Code Style Enforcer
This is simply a rebuild of Code Style Enforcer version 3.0.32 in order to support the new version of DXCore 10.2.3.

Download Code Style Enforcer 3.0.43
3 comments ( 156 views )   |  related link

Code Style Enforcer is Currently Incompatible with DXCore 2010 vol 2.3 
Thursday, December 9, 2010, 07:04 AM - Code Style Enforcer
Today I upgraded from DXCore 2010 vol 1.8 to version 2010 vol 2.3 and then I got an error message as soon as I loaded a solution.

There seems to be some incompatibility issue with this new version of DXCore, but a new version of Code Style Enforcer targeting DXCore 2010 vol 2.3 will be released within the next couple of days!


1 comment ( 93 views )   |  related link


Back Next