I can only see two processes documented for using Diffusion: leave a repository hosted elsewhere and have Phabricator import the data, or create a new empty repository that Phabricator will subsequently manage.
From a couple of tests it appears possible, but I'd like some confirmation that pointing Phabricator at an existing, populated (mercurial) repository and having it manage it won't result in any loss of data, or cause problems if people are committing changesets via the filesystem without Phabricator's knowledge?