Simon described clearly, and his explanation is excellent for e3, and that is my design concept for e3 also according to PSI experiences.
I don't know what the current policy of e3 has. But, the original policy which I designed was to convert all substitutes files to a single DB file during the installation procedure. So, a startup script only uses several DB files instead of any others. It allows users to use other formats, but no recommendation for this. All version controls for DB and substitutes files are in standard git version controls procedure. Different versions of each module and IOC will have different DB files for production and installation.
This policy, I believe, could remove these potential issues on the DB file versioning and substitution files.
I replied to this discussion because I don't think I explained this policy enough to Timo, Simon, or others at ESS. But everything was my original design and implementation.
HTH,
Han