It seems to me that having good SCM from within code::blocks is one of the major features it is still missing, and something I really miss.
I have been reading this thread as I was interested in writing a plugin, it strikes me that rather than implement different SCM tools integration we (as a community) should perhaps think about abstracting many operations away from concrete cases, and provide an SCM framework into which people can easily hook into. This way we can provide support for different tools. In my case I want to use git, other have mentioned bzr and mecurial.
George