1. A method for recreating a set of hierarchical files that are present on a source datastore on a target datastore, the set including a parent component and a child component, the method comprising: maintaining a content identifier (ID) for each component of the set of hierarchical files, the content ID being updated when the contents of a corresponding one of the components are modified, wherein each component of the set of hierarchical files represents one of a base disk image or a delta disk image of a virtual disk of a virtual machine; copying the child component from the source datastore to the target datastore; comparing the content ID corresponding to the parent component on the source datastore with content IDs corresponding to files present on the target datastore; when a matching content ID is discovered as a result of the comparing, identifying a matching file, the matching file being a file on the target datastore that corresponds to the matching content ID and linking the copied child component to the matching file so that the matching file becomes a parent component to the copied child component at the target datastore; and when the matching content ID is not discovered, copying the parent component from the source datastore to the target datastore and linking the copied child component to the copied parent component so that the copied parent component becomes the parent component to the copied child component at the target datastore.