gitextensions/gitextensions — pull request #1699 by PombeirP (2013-03-09 22:28:33+00:00)
Title: Build server integration (TeamCity implemented, for now)

This is an extensive pull request. I'm fine with squashing it to a single commit, to keep history clean. E.g. there was an initial commit where I checked in the Rx dlls, only to after introduce NuGet and delete those libraries.

This pull request implements feature request https://github.com/gitextensions/gitextensions/issues/1630, introducing inline reporting of build status in the revision grid, along with a build status tab for the selected commit.

![image](https://f.cloud.github.com/assets/138074/240338/96f0e9f6-8907-11e2-9e53-1c2467cc14a0.png)

There is a plugable architecture in place, allowing for future support of other build servers such as Jenkins or TFS.

In order to see the new functionality it in action, you could clone a public repo which is already integrated with teamcity.codebetter.com, such as https://github.com/PombeirP/Unity.TypedFactories.git or https://github.com/Testeroids/Testeroids.git. I've introduced the configuration of the connection of the repository to the build server in the form of a .buildserver file at the root of the repository. This contains the type of the build server, along with its URL and the project name in TeamCity. By storing the config this way, anyone who clones the repo will automatically see the build server integration.

Both guest and authenticated access are supported, through a new credentials dialog. The credentials are stored encrypted in isolated storage.

I assume there will be many questions given the extent of the pull request, so feel free to ask.