I need to figure out how to pull all the changes into my repo, so need a Hg crash course!
I had mentioned this difficulty to Kilmanagh when we discussed about incorporating my plug-ins into his fork.
First off, I really have to commend Vhab for turning me onto Mercurial. I must say that this is probably the best revision control software I've ever used. I've even set it up at work because it's such a pleasure to work with. That said, HG isn't without it's warts. The downside to the ease of branching and forking is when you want to propagate changes across forks. It's not so bad if you leave files where they are. You can read how to compare two forks and create pull requests here:
http://confluence.atlassian.com/display/BITBUCKET/Fork+a+Repo,+Compare+Code,+and+Create+a+Pull+RequestBut if you move files from one directory to another, then that file can't be compared across forks, and things get complicated. I think the only way to deal with that would be to clone both forks into separate directories and manually merge changes using a visual diff tool.
For my plug-ins, I would recommend that other devs not rename and move them into the Plugins.Default directory because I don't plan to. I cleaned up my tree, as I had two copies of a couple of plug-ins as a result of this. This will simplify merging, but complicate bot installation. My plug-ins are mostly not suitable for general and org bot use. They'd probably be better served as a public helpbot/guidebot type thing, but that's not this discussion.
For Mit, I would suggest that you push everything you've done back up to BitBucket so the rest of us can merge your changes. That may go a long way to saving you a lot of work merging the the other way. There are a huge number of improvements and fixes to various plug-ins that you've made that I would like to incorporate into my fork.
I don't touch core or any other parts of the repo, so Kilmanagh's changes should merge with my fork fairly easily, with the exception of when my plug-ins were moved. Not surprisingly, he identified the same weakness (not putting long results into windows) in many of my plug-ins which was just laziness on my part, but unfortunately, we fixed them differently. I had some confusion trying to merge his changes to my plug-ins because of the difference.
There is some activity now, and we should pick a fork that will be going forward as our community release version and work toward keeping that fork clean. Right now it seems Kilmanagh is the most active dev at the moment, so if Mit isn't insulted, I'd suggest that his fork get's that honor, but he needs to decide how he want's to incorporate the changes Mit and I make otherwise he's going to have a ton of extra work merging changes and fixes we make in our forks. Otherwise we're just diluting our efforts.
Edit: I started to merge Kilmanagh's changes into my fork and then I realized that I can't really compile and test on linux box. I guess this will have to be Mit or Kilmanagh's responsibility to keep my plug-in's merged into their forks. =(