Sunday, March 20, 2011

Fun with source control

I've been doing a lot of clean up on my code, however many of my changes haven't made their way to the project at just yet. For some time now I've been using two different source repositories. Back before I created the project on codeplex I had set up my own TFS 2010 server. I did this both to keep better track of the changes I was making and to become more familiar with TFS 2010, which I really enjoy using. I still check my changes into my TFS and copy these files over to a duplicate project for uploading to codeplex (not as often as I should). I probably ought to just switch entirely over to codeplex, but haven't because I haven't had time to look into what I might be giving up by doing so.

Despite my procrastination, I did manage to add upper window support a while back, making most games playable now. My next update will likely include support for color. I'm also planning on putting up at least one frontend as an example, but I haven't decided which would be the best to use. I have frontends for a variety of platforms: console, WPF, Xbox, etc. The console is a good example of a simple frontend without a lot of distracting code, but it would prohibit demonstrating more advanced features, like mouse input or graphics.


  1. I believe the difference between TFS server and the version control systems (VCS) codeplex supports are less a matter of what features it does or doesn't support and more a matter of changing how you think about source control - especially with distributed VCS (DVCS) like Mercurial or Git. How they work is best left to their websites and Wikipedia, but the idea is focusing on making merging your own or other peoples code simple, rather than preventing other people from stomping over your work with file locks. It's not a simple switch by far for distributed version control, but if you can understand the basic ideas it ends up being very simple to work with and lets you be much more aggresive with changes. I'm very happy using Mercurial with TortoiseHg and VisualHG, but the latter could obviously do with some polish.

    (PS - I couldn't post with IE9 and OpenID)

  2. I've never used Mercurial, although it's something I want to try. At work we currently use an old version of Borland StarTeam.

    It looks like I will be rebuilding my development box today. Last night I was installing the Windows Phone development tools and the installer trashed my visual studio. It is one of those 'all-in-one' web installers that theoretically downloads and installs everything you need, including VS2010 express, XNA-GS4, Phone SDK, etc. I was hoping it would recognize the fact I already have VS2010 and XNA already installed, which it seemed to do at first. Part way through the install the system froze with a black screen. I don't know the cause, but it may have been related to the fact I was installing via an RDP session. After it locked up I went to the console screen and found it frozen at the login screen. After rebooting and a quick chkdsk I found all the VS project templates had been wiped out and the Phone tools only partly installed. Trying to uninstall or reinstall proved fruitless as the system complained about the previous install being 'suspended' and also about missing some files needed for system restore. Rather than muck around with this I'm just going to rebuild everything. It's a good time for it anyway with the recent release of SP1 for both Windows 7 and VS 2010.

  3. just discovered your blog...looked for your projhect on codeplex but didn't find it. Still active?

    1. I removed the project from codeplex, but the code is still alive. I am porting it to be linux native. After the release of Windows 8, I gave up on Microsoft based technologies. Look for it to appear on github in the future, under the GPL.