As you share a folder or item from one location to another (whether in the same view or a different one) an additional reference is created for that object in the new location. The reference for the new folder or item becomes a child of the reference from the folder or item that was shared.
The following example shows two references for a file named timeout.cpp. The file was manually shared from a folder named Source Code to a folder named Timeout in the same view. Notice that the second reference is based on the first, but created as a by-product of creating a branching view.
The application does not differentiate between references based on what caused them to be created. However, you can tell from the hierarchy that the first reference is the source of the second reference, because the second reference is indented under the first. You can also tell, because they are in the same view, that a manual share or move occurred. (The second reference would be in a different view if it was created automatically when a child view was created.
A shared folder or item can branch, but may never do so. Regardless, some subset of its history is part of the history of the original folder or item.
If the view hierarchy is deep (the root view has grandchildren, great-grandchildren, and so on), the use of branching, floating views can cause a great deal of confusion. Suppose all the views except the root view branch and float. At its new location, depending on how views were created, the folder or item you share can float:
This can result in a reference to the folder or item in the new location in every view in the project’s view hierarchy. Many of those views may have already had a reference to the folder or item in its old location.
The following example shows all the references created by sharing a file named shared within child view.doc from one location in the branch none floating view to another location in that same view. The first three references are the references that existed prior to the sharing operation. The fourth reference is the new reference in the root folder. It is shown as a child of the first location in the branch none floating view because it floated up from that view. The fifth and sixth references resulted from references that floated down to the branch none floating child view of that view.
The next example shows that the file named shareall.doc existed only in the branch all floating view before it was shared to another view. The reference to the root folder starts the references that occurred as a result of the share operation. However, the recipient view could have been any of the other views, because the file would float up to the root and back down. On the way down, a second reference was created in the branch all floating view.