My company uses Mercurial as our primary SCM. Rather than a handful of very large repositories, we have dozens of small repositories, each one storing a relatively self-contained application or library. I've installed Phabricator in order to evaluate its potential as a repository browser and code review tool.
It's fairly common for us to make changes which affect multiple repositories. For example, I may add a new API to a library, and update two or three applications to use that API. I've found that Differential doesn't seem to handle revisions which affect multiple repositories very well, and I'm looking for advice regarding best practices.
I'd like to be able to upload changes from several repositories to the same revision. I've found that when I do this (using arcanist) the revision is attached to the last repository from which I uploaded, and the files are mixed together. Worse, if files from different repositories have the same name (e.g. Makefile, README), Differential presents them as if they were the same file.
Ideally, I'd like to see Differential associate files with repositories, and to permit multiple repositories in the same revision, but I recognize that there are lots of details (e.g. branches) which could make this complicated.
Are there any established best practices for dealing with revisions which affect multiple repositories? Have they been discussions in the past about improved support for this?