Our development team is moving from Subversion to Mercurial for their SCM. We realize the flexibility this will bring to the team and want to allow them to test their code in a sandbox before committing to our dev environment. This sandbox will be used for new features as well as bug fixes.
The developers have explained that they use the $SERVER_ROOT PHP variable all over the code, so a sandbox in a sub-directory will not work without refactoring the code. These sandboxes could be short-lived, so an automated process would be ideal, but a manual process that the developers can follow would work as well.
Our environment is pretty standard. We have a LAMP stack running Zend Server, virtualized on VMWare Infrastructure, and I have access to the snapshot feature on my Netapp SAN.
The main goal is to use an identical environment to production, so options like xampp are out of the question, however virtualbox could work for this.
I am mainly trying to find out what workflows others are doing to sandbox dev environments to test their code before committing to trunk.