There currently are no cross references between resources in the structure. This allows for resolving references when mirroring F3 by iteration until there are no more unresolved references.
For instance, when mirroring a project, if a pull request references a repository that does not yet exist, it will not be mirrored in the first pass. At the end of the first pass, the repository will exist and the second pass will be able to mirror the pull request.
There are three kinds of references to consider when mirroring a resource (e.g. a project):
- external to the resource (e.g. a reference to the user who posted an issue)
- internal to the resource (e.g. a reference to the base repository of a pull request)
- in a user visible text (e.g. a comment in an issue)
The reference contained in a comment is not in scope of this requirement because it is not part of the structure and never needs to be resolved before the structure is mirrored. It can always be resolved afterwards.
The reference external to the resource being mirrored will not be mirrored, by definition, and although this requirement also applies, it has no practical advantage.