docs: def _initRepository(self):
          """Have mercurial init the workdir as a repository (hg init) if needed.
  
          hg init will also create all needed intermediate directories.
          """
          if self._isRepositoryReady():
              return defer.succeed(None)
          log.msg('hgpoller: initializing working dir from %s' % self.repourl)
          d = utils.getProcessOutputAndValue(self.hgbin,
                                             ['init', self._absWorkdir()],
                                             env=os.environ)
          d.addCallback(self._convertNonZeroToFailure)
          d.addErrback(self._stopOnFailure)
          d.addCallback(lambda _: log.msg(
              "hgpoller: finished initializing working dir %r" % self.workdir))
          return d