Community
Participate
Working Groups
CompoundArtifacts now include references to the artifact sets for the BranchImage from which the Compound was originally drawn. This reference appears to only be used by the command-line for generating the catalog entry of the project file. As part of 54131, I'm removing the explicit link to an artifact set from the compound. This will cause a cascade-bug in the CLI, because it relies on the code I'll be deleting. The specific changes that I'll be making are: - Removing the artifactmap field from CompoundArtifact. - Remove the getArtifact(...) methods from CompoundArtifact. - Remove the createCatalogElement method from CompoundArtifact. The createCatalogElement is the main place that uses the Artifact map. The code in createCatalogElement can be moved to the CLI code. The getArtifact methods are also used in Change.synchronizeDirectory (part of the sync command), and in Merge.wipe. In both cases, the related BranchImage is locally available, and so eliminating the dependence on the map in the compound itself should be a highly localized, easy change. (In the case of synch, it doesn't really need to be fixed - synch is *so* deeply and fundamentally broken that we might as well just remove it anyway.)