Community
Participate
Working Groups
Build Identifier: 3.6.0 If a child needs to be removed from a composite artifact repository by an absolute URI (e.g. file:/C:/workspaces/jse.repo/plugins/repo.core.tests/Copy_test-repo-1/) the change will not be saved to the repository. (Sorry at my workplace i'm not able to create a patch :( ) In Bundle org.eclipse.equinox.p2.artifact.repository, version 1.1.0.v20100513 class org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository method 'public void removeChild(URI childURI)' the flag 'removed' is not assigned if the URI is absolute. actually: URI other = childURI.isAbsolute() ? URIUtil.makeRelative(childURI, getLocation()) : URIUtil.makeAbsolute(childURI, getLocation()); if (!removed) childrenURIs.remove(other); change to: URI other = childURI.isAbsolute() ? URIUtil.makeRelative(childURI, getLocation()) : URIUtil.makeAbsolute(childURI, getLocation()); if (!removed) removed = childrenURIs.remove(other); In org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository it's done this way. Reproducible: Always
Good catch, thanks. Fix released to HEAD.