I just released new version of Mock.
Changes are:
--shell and --chroot is now documented in man page. The difference between those two is that --shell does shell expansion, while --chroot does not. Well - to retain backward compatibility --chroot is shell expanded too, but only if there is only one argument.
Note one thing: mock --chroot foo --bar is evaluated similarly as mock --bar --chroot foo, which is likely not what you intended. You should either use mock --chroot -- foo --bar or mock --chroot 'foo --bar'.mock --no-clean then home dir of mockbuilder user was preserved. Now it is wiped too and only files that are preserved are: build/SOURCES, .bash_history and .bashrc.%(cache_topdir)s/%(root)s/ccache/u%(chrootuid)s/, which means that ccache is now separate for each user. Therefore it may consume more space. On the other hand it solve one old security problem.