I see insinuations here and there that it's bad to run a live deployment directly off a DVCS clone, and better to export a clean tree or tarball and deploy that. It seems to me that running directly from a DVCS clone has several advantages:
- No need to transport the entire codebase on every deployment.
- Trivial to update code to any desired version.
- Trivial to rollback to previous version if deployment goes badly.
And I can't really see any disadvantages. The presence of the repo files (in my case, a single .hg/ directory) causes no problems.
Is there really any good reason not to run a live deployment off a DVCS clone?