Hosted source control and project management with Subversion and Team Foundation Server

I have been using Subversion for many years both professionally and on open source projects (mainly Razor Image Viewer). Initially, I had Subversion running as a service on my local computer but the more I thought about a strategy for backing up my work, the more it made sense to use a hosted environment. The $25 dollars a year it costs me for a hosted source control service wouldn’t even cover the electricity for my own server.

I am currently using a hosted Subversion and TRAC with ProjectLocker. The hosted service allows me to focus on my development and other project without the need to maintain a server or keep it on all the time. I love TRAC’s custom workflows but it doesn’t offer the breadth of capabilities required for application lifecycle management (ALM).

I have used Microsoft’s Team Foundation Server and am more and more impressed by it as it has matured since its initial version in 2005. With the release of Team Foundation Server 2012, there will also soon be a TFS Express solution available to teams of 5 for free. Currently, Microsoft is offering a free web based preview of Team Foundation Service hosted online (under the hood, it’s a farm of Azure VMs). I am using this for a couple projects and will be writing more about this soon.

If you are using Visual Studio 2010 you will need to install a hotfix in order to connect Visual Studio 2010 with the TFS Preview hosted source control. Microsoft’s website makes you jump through a few hoops before directing you to the download page for hotfix KB2581206. Visual Studio 2012 connects properly to the hosted Team Foundation Service out of the box.

To connect Visual Studio 2010 to your TFS Preview repository, the Getting Started with Visual Studio page incorrectly states to use the full project URL https://fabrikamfiber.tfspreview.com/DefaultCollection/FabrikamFiber (to end the URL with your project’s name). The correct URL for your Team Foundation Server is https://fabrikamfiber.tfspreview.com/DefaultCollection, for example. Visual Studio will provide you a list with the projects to which you can connect.

Brian Harry has written more about TFS Express

Source control strategy for WordPress sites

My background is more in software and web application development, not website development. So when I started doing a few websites on the side, I wanted to translate some of the tools and processes that I use everyday as a developer to this new role. As I compared the different CMS options, WordPress was the winner in my eyes with a good balance of usability, maintainability, and customizability.

Having chosen WordPress, my attention shifted to finding a version control mechanism for the works in progress. The look and feel for WordPress sites are managed by themes. WordPress allows your to create a child theme based on an existing theme by assigning the ‘template’ property in the header for style.css (the only required file in a child theme). You can read more about creating a child theme here: http://codex.wordpress.org/Child_Themes.

The content is maintained in the WordPress database (MySQL) and WordPress has a good mechanism for managing historical versions. The parent theme (in my case the new Twenty Eleven theme that came with WordPress 3.2) can be downloaded at any time, there’s no point in adding it to version control. Developing the child themes, I now have my handful of modified files under source control along with a simple FTP upload that serves as my deployment. Branching also works because I can deploy the branch to a 2nd theme folder (lets say ‘twentyeleven_custom_branch’) and preview the site with the new theme without actually activating the updated theme.

Subversion Error Message on Windows 7/Windows 2008 Server

Some times when I am performing a Subversion task (update, commit, check out) I get an error message stating that files can’t be moved or deleted. A subsequent boot of my machine causes CHKDSK to run (this is what concerned me).

The error message looks like this:

Error: Can't move
Error: '[...]\.svntmpentries'
Error: to
Error: '[...]\.svnentries':
Error: The file or directory is corrupted and unreadable.

This is a known issue with Windows 7 and you can http://support.microsoft.com/kb/982927/en-us”>download a Hot Fix to fix it.

This issue is also addressed in Service Pack 1 for Windows 7 and Windows Server 2008.

Here is a good post on the issue: http://serverfault.com/questions/72561/64-bit-tortoisesvn-on-windows-7-says-file-or-directory-is-corrupted-and-unreadab