|Error when reverting p2 update from installation history [message #1401169]
||Tue, 15 July 2014 04:17
| Kovalan Venkatesan
Registered: March 2014
I've been facing this problem quite for some time and thought you'll able to figure this out quickly.|
I created a sample eclipse RCP application with the following components
I set all component versions to be 1.0.0.
com.module.product has the .product file and p2.inf file. The product configuration is based on : features. The dependencies in .product file have com.modules.feature and org.eclipse.equinox.p2.rcp.feature.
com.eclispe.p2.feature includes the plugin.com.eclispe.p2.utils that contributes the "Update Handler" to perform the live update from the menu.
com.modules.feature is a dummy feature that depends on com.moudle.product and com.module1 (has dummy menu contribution).
Now when i change the versions of all mentioned components to 1.0.1 and export it to the repository and then try to perform p2 update the old exported 1.0.0 version, the updated plugins and features are downloaded and installed successfully. But it seems for the feature components alone (e.g., com.modules.feature) the old feature component ( com.modules.feature v1.0.0) gets deleted in the feature folder and has only the new feature component(com.modules.feature v1.0.1) .
The plugin folder has the old version as well as the new versions.
Due to this, when i perform "revert" to 1.0.0 version from Installation History, i get a error dialog saying "Revert configuration has encountered a problem" and "No repository found containing org.eclispe.update.feature, com.modles.feature 1.0.0".
I remember long time before I was successfully able to perform revert. But now somehow, not sure what mistake I am making in the configuration, it doesn't work as expected.
|Re: Error when reverting p2 update from installation history [message #1401416 is a reply to message #1401169]
||Tue, 15 July 2014 11:28
| Brian de Alwis
Registered: January 2012
p2 will garbage collect artifacts when they are no longer referenced. When you revert, p2 essentially re-installs the previously-recorded artifacts; since they were GC'd from your installation, p2 has to find them from somewhere. Since it couldn't, it errored out.|
The build tools (PDE/Build, Tycho, and probably Buckminster) create new repositories to host the results of the build. If you want to preserve older artifacts, you need to maintain a copy of the previous build results, and copy in the new build results using something like the p2.mirror task.
You could also try disabling the p2 GC using the gcOnStartup property.
Hope that helps.
Eclipse Platform committer. Ask me about Eclipse support, training, and consulting.
Powered by FUDForum
. Page generated in 0.01665 seconds