In relation to my post some days ago about social coding and DVCS, I had a great sample the other day why this is so great.
I recently upgraded my blog to the latest version of BlogEngine.net, which wasn’t easy. I guess most of my problems were because I went from version 1.5 to 2.5 or something, which is a pretty big jump.
Nevertheless, I had a lot of problems to just make a clean installation of BlogEngine.net work on my host. My blog runs on Shared-hosting, which gives some wierd problems from time to time.
I managed to google my way to resolving all the errors I ran into – that’s great!
I were still a bit pissed as I it were way to hard to make a clean installation work, so (I’m honest here ) I flamed a little on the discussion on BlogEngine.net’s codeplex.com site. Yes, I maybe shouldn’t have done that, but I did, was to tired of this not working. An actually something great came out of this, look at the response to my comment here.
This rtur guy is pretty smart, he tells me contribute with my changes – which I honestly hadn’t thought about (as patching use to be SO hard and stupid on Codeplex and I don’t even want to come near it – sadly.
A little side note, look at the time stamps. From he suggesting me to contribute, it takes me less than an hour, actually much less than an hour (I wasn’t at the PC right when he wrote that), to contribute to the project as described below – pretty look!
Fork, Fix and Pull
All my problems were fixed via altering the web.config. So as rtur suggested me – Why not put these things into the web.config that skips with BlogEngine.net, so others avoid or might have an easier way to comment in these changes?
(I’m aware that my changes might cause problems for people with other setups, but I would let it be up to the BlogEngine.net crew to determine which part they would put into the next release)
As mentioned BlogEngine.net is hosted on Codeplex.com. Codeplex have recently added support for Mercurial(HG) and latest Git. No more stupid TFS patching on Codeplex!
The BlogEngine.net team have moved there code to Mercurial, so all my newly obtained knowledge about DVCS (in my case Git), should be very usefull here.
Therefore I logged into Codeplex and created a Fork of the BlogEngine.net repository.
After naming the fork, I could then clone my fork with TortoiseHg to my computer.
Then I opened up the solution in Visual Studio and manually merged my web.config changes into their web.config.
Then I commited my changes and push them back to my fork on Codeplex.com.
Then I went to my fork in the browser and send a pull request to the BlogEngine.net team.
After a day or so, rtur had merged some of my changes into the web.config and commented on my pull request.
And thereby I became an contributor to a open-source project – which is a really good feeling when you are a developer – at least for me.
I want to thank Scott Hanselman for this post, which opened my eyes to DVCS and real open-source!