This is v1.8 of the Mercurial plugin, and (though I believe it's irrelevant)
1.186 of hudson.
I'm running Hudson on the same machine as my hg repo. I entered the path to my
repo as /xyz. The first build was fine, but because the cloned repo's hgrc file
listed the repo location as c:\xyz,
hudson.plugins.mercurial.MercurialSCM.checkout saw these two strings as
different and tried to do a clone instead of an update. It correctly did an
update once I changed my hudson config repo string to c:\xyz to match hgrc.
Perhaps there's some normalization to be done on local repo paths.
On a side note, and I haven't looked into this, when it was trying to do the
clone via first doing a delete, it could not delete the hgrc file (using
Windows). However if I deleted hgrc manually, then ran the build, it deleted
the rest of the stuff just fine. Seems like a bug.