Kudu project using Mercurial.Net

Jul 8, 2011 at 9:01 PM

FYI David Fowler and I are working on a project name Kudu that uses Mercurial.Net for its Mercurial support. It hosted at https://github.com/davidfowl/kudu if you want to take a look. Just run the Kudu.Web site and point it at an hg repo.

Jul 8, 2011 at 9:18 PM
Edited Jul 8, 2011 at 9:20 PM

I will definitely check it out.

I notice that you're working around the bug in 1.0.2 regarding branches that were marked inactive (Line 125 of HgRepository.cs), you should know that there's also a CustomCommand you can execute, so that you don't have to handle any of that stuff yourself. Hopefully you won't have much need for this, but you never know :)

In the pre-1.1 case you would do this:


var cmd = new CustomCommand("branches");
string output = cmd.Result;
// in which case you would probably do your .AsReader thing as normal.


Also, but I don't have to tell you this, keep any bug-reports coming :)

Secondly, there's not many out there (that I know of) that uses Mercurial.Net, which means that the API is pretty much tailored to the needs I've found and the ones that feel natural (to me). If there are any suggestions you guys might have that would make your life easier as users of the library, I'd be more than happy to hear them.

Jul 8, 2011 at 11:18 PM

I don't see a cmd.Result prop. Maybe you meant RawStandardOutput? Anyway, since this will hopefully go away, we can probably leave it as is for now.

Definitely, we'll make sure to report any issues we find. Thanks for the help!

Jul 9, 2011 at 4:29 PM

Yes, of course I meant the RawStandardOutput property :P

Anyway, work is now underway to support the new command server mode, the code is currently not up on CodePlex, and until it reaches a state where it is at least so close to fully implemented that I don't think there will be API changes, it will remain on my Kiln account.

The Kiln repository, however, is also public, so you can reach it here.

At the moment I'm working on refactoring the framework to support the new persistent client, but very soon I'll start adding the real meat to the new PersistentClient class.