First I want to thank everybody who has been reading my blog. Even though PainlessSVN has not been "officially" released, I did put it up for the public. I'm giving a discount for my blog readers. Please use "blogearlybirdaug2008", without the quotes to get $30 off the regular price. This will last until September 5, 2008, midnight Mountain Standard Time (UTC-7).
The official release is September 6th, 2008.
I have spent about a month doing whack-a-mole with bugs associated with snapins in MMC 3.0. On top of this, Microsoft has basically abandoned it. I haven't been able to get MMC 3.0 working with .NET 4.0 (developers have reported some workarounds, but none have worked for me). That's it, I had it!
Been working really hard on PainlessSVN, as I still use it to manage all my repositories. I've been trying to add a bunch of features that I want, as I despise managing Subversion with the command-line. MMC just keeps getting in my way.
I'm investigating moving PainlessSVN over to WPF, MVVM, and CSLA. CSLA is a business framework, and it has remote access baked in. It does a good job of hiding the complexities of WCF from the programmer.
This means that PainlessSVN 2.0 will not be released this year, and it will not be a MMC 3.0 snapin.
I was in the process of updating both PainlessSVN Professional and Console to version 1.2.1, when I found a bug in Visual Studio 2010 debugger. The solutions for both projects were in VS2008. My OS recently died, so I had to re-install it from scratch. I only installed VS2010, because I wanted to move away from VS2008.
My first hint that something was wrong was when I needed to modify the About dll to include the new version numbers and years in the copyright. This project is a C++ resource dll. This simple project would not compile on the VS2010 compiler when I converted it. I ended up firing one of my VMWare images that has VS2008 to get this done.
The next thing that happened was that none of the breakpoints I set worked, while trying to track down an unhandled exception. I went to Google and found that this is a known bug. The report is over here:
Debugging an MMC snapin does not attach correctly to mmc.exe
The suggested work around is here:
Can’t hit breakpoints in a plug-in or can’t debug .NET 2.0/3.0/3.5 from a mixed mode .exe project with Visual Studio 2010?
Unfortunately, that didn't work for me. What did work was to change the mmc.exe instance from the C:\Windows\SysWow64 to the one in C:\Windows\System32, then attach the debugger manually. The debugger will not attach to instances of the mmc.exe program in the SysWow64 directory. I am running VS2010 on Windows 7 Ultimate x64, and that's why I was using the 64 bit version of mmc.exe.
Anyways, hope this helps somebody else.
I finally tracked down and quashed some bugs that were happening on Windows XP. PainlessSVN Console 1.2.0 is now up for download. This version includes Subversion 1.6.15 as part of the installation package.
Download it here.
Just wanted to update everybody on PainlessSVN Console. I have updated the install script to include the Subversion 1.6.15, instead of 1.6.13. This version of PainlessSVN is actually code complete. I'm working on ironing out some issues with the install script.
I've seen other tech companies do a New Year's letter, and I'm trying to adopt this in my workflow. So here's a roadmap that I set for myself for 2011:
The MEF support is half-baked, so I want to upgrade everything to .NET 4.0. This version of .NET has a native implementation of MEF, so that I don't have to resort to the downgraded assembly that was created for .NET 3.5.
I also want to flush out the SDK. It needs a lot of love, and I now have the energy to get this done.
I want to see if I can get everything moved to .NET 4.0, as this version of the framework has a LOT of improvements. I'm hampered by .NET 2.0 right now, and I can't do a lot of things that I want. Moving to the latest version of .NET will let me implement some needed functionality without the need to resort to hacks.
This is a new utility that I created to help me with my builds. I found that I have to add a LOT of files, just to get my build script to get the correct files. One of the things that really annoys me is that there's a lot of temporary files from Visual Studio and Subversion in all my projects. On top of that, ReSharper and my other IDE plugins, also add their own temporary files.
This utility will let you delete all of these nuisance files in one go. For example, you could copy the whole project folder to a temporary folder, and tell DeleteDevCrumbs to delete the bin and obj directories. This little gem will go through all the subdirectories and nuke all of these things. It will also take care of the .svn folders, if you tell it to.
I'm in the process of polishing this for general comsumption.
This is an application that has been on the back-burner for a long time. This will be similar to SVN Backup Widget. This is in the design stages, so not much has been done yet. I'm planning on using WPF for the GUI. My hope is that I can design it in such a way, that it can be used as a plugin for the new version of PainlessSVN. Not really sure when this will be done.
Anyways, here's to a fruitful 2011!
Yup, you read that right. I'm creating a "Console" edition of PainlessSVN that will be free. I'm in the process of removing some functionality. I got the hardest stuff out of the way. The last thing I need to work on before release is the install script. This InnoSetup script will include Subversion as well.
I just wanted to let everybody know what I'm working on right now. I'm in the process of finishing the next version of PainlessSVN. Here's a screenshot of the options that you will get with the next download:
That's right, I'm including Subversion itself with PainlessSVN. I found a new distribution that contains everything svnserve needs without apache. The new distro's home page is over here: http://alagazam.net/
I'm frankly very tired of the websites that make you sign up to get at the Subversion binaries. And also what's up with the giant 80+ meg Subversion download? Just smile, if you know who I'm talking about.
I also have an InnoSetup script that will install Trac and Python. I will probably create several setup packages after I get done pushing this out. I'm thinking of:
- PainlessSVN only
- PainlessSVN and Subversion
- PainlessSVN, Subversion, Trac, and Python
The hardest part is always setting these things up. One I get these set up, I'll need to add them to my FinalBuilder scripts.
I now have time to update various apps on my website. I have some bug fixes and some additions to PainlessSVN. I will add the ability to add users to groups when your repository is using authorization rules, better known as path based authorization. I will release version 1.1.1, once I get this done.
As a technology solution, PainlessSVN has been a success. It helps me manage all my repositories painlessly. As a commercial product, it has been an abject failure. This being the case, I will put it in the back burner, and update it when I need specific funtionality. It won't disappear from this website, I just can't justify spending that much time on it, when it is not producing revenue.
The reason I haven't been posting, is because I've been hard at work with PainlessSVN 1.2.0. I've been fixing the install script, so that I can add some new stuff. The only thing that I can say, is that this next version will come with Subversion server. You can choose not to install Subversion. If you do install it, the install script will configure it for you. The script will also do the following:
- Create the repository root directory
- Set svnserve.exe to run as a service
- Configure the PainlessSVN console to pick up the svnserve settings automatically
There's actually quite a bit more, but this all that I'm going to say for now.