Mercurial support in NetBeans - not just wishful thinking :)
By jmr on May 06, 2007
Well around the start of March my boss cornered Padraig and myself to asked the age old question, "Are you busy?". Having just got the DTrace Framework for Mozilla out the door, we foolishly replied, "Nope" and then the fun really began!
He said folks wanted to get Mercurial support into the NetBeans IDE, which as it's a really cool, lightweight and scaleable distributed source code control system, seemed eminently reasonable. But why was he asking two OpenSolaris happy hackers to work on a Java based IDE platform and a distributed source code control system we barely knew how to spell. Well needs must as they say and with OpenSolaris (Onnv) and OpenJDK having moved to Mercurial and NetBeans thinking about it, I could see there was something of an urgency.
So myself and Padraig O'Briain, where Shanghai'ed as they say. Oh and by the way we need it by JavaOne of course
Maros to the Rescue
Thankfully NetBeans had already put in a new VCS framework in 6.0 and Maros Sandor, one of the key Subversion developers, kindly put together a skeleton VCS for us to use as a basis for our work. Without this and all the NetBeans folks ongoing support we would have truely been dead.
It lives, it breathes!!
So enough of my ramblings suffice it to say we started scratching our heads a few weeks into March, once the fog of St Patricks day had passed and here at the start of May our baby is born so to speak It's up on the NetBeans 6.0 m9 Preview developer update center for all to enjoy. All the gory details are up on the Mercurial Plugin wiki.
To use it just get NetBeans 6.0 m9, and go to Tools/Plugins -> New Plugins, select Mercurial under Versioning and click on Install. We've a demo script you can walk through to get an idea of how to use it. Just create a new Java project, right click on it and select Mercurial->Initialize Repository to get things started. Flash demos to follow once I figure out how to do them
This first cut focuses on local repository support, but integrates well with all the new VCS features in 6.0, including editable diff / inline diff, versioning view, status and annotations. We plan to add additional features for selective update/revision reverts, merge support and remote repository support incrementally over the next few months and push them out on the dev update center.
Our plans are up on the Mercurial Plugin wiki. Feel free to send gripes, wishes and general comments to firstname.lastname@example.org. Check us out at the NetBeans Day at JavaOne if you are about, in the pod demos.
Have fun, I know we did!! Opps wasn't meant to say that, "We toiled endlessly over hot keyboards, long into the night .....", hope the boss doesn't read the blog