A version-to-version relationship is a relationship that associates a particular version of the origin object with a particular version of the destination object. At run time, the Repository object model never presents an individual version-to-version relationship to you. That is, from within a COM or Automation program, you cannot materialize an object corresponding to a version-to-version relationship. Instead, you can materialize an object corresponding to a versioned relationship.
The following figure shows versioned relationships.
The preceding figure shows two versioned relationships; however, five version-to-version relationships are evident, as shown in the following figure.
In the preceding figure, each line is a version-to-version relationship. The top line indicates that Version 1-of-Bruce is in the TargetVersions collection of the versioned relationship owned by Version 3-of-Main. It also indicates that Version 3-of-Main is in the TargetVersions collection of the versioned relationship owned by Version 1-of-Bruce. The complete TargetVersions collection of the versioned relationship owned by Version 1-of-Bruce might include other items. That is, there might be other version-to-version relationships between Version 1-of-Bruce and individual versions of Main.
The following figure shows that Version 1-of-Bruce has version-to-version relationships to Version 1-of-Main, Version 2-of-Main, and Version 3-of-Main.
The preceding figure shows a total of seven version-to-version relationships.