How can I efficiently fetch a Mercurial change log in TeamCity?
Try checking out as 'Automatically on agent'. This should make the checkout directory an actual repos.
Do you have your agent checkout settings set to "on agent"?
By default, the server does a checkout and then sends the bits to the client.
You can find the setting here:
Tell TeamCity to check out on the agent. That way, your build agents will run hg
, and the checkout directory on the agent will be a repo you can run hg log --style xml > hg-log.xml
on.