We are currently able to load directory entries pointing to revisions when loading from VCSs. Concrete examples of this are git submodules, arbitrary git refs, and svn externals.
We want to be able to support the same behavior when loading directories, as that will allow people to do partial/incremental push deposits. To that end, the information of which directories will need to point to revisions, and to which revisions they point to, will need to be provided out-of-band, e.g., as part of deposit metadata.
A concrete example might be something like:
- loaded directory is rooted at /, and contains empty sub-directories /foo, /bar, /baz
- metadata contains a (potentially empty) mapping from path names to revision IDs
- each empty directory pointed by a path in the mapping will be loaded as a directory entry pointing to the associated revision