Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberChangeSetCollector.java')
-rw-r--r--bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberChangeSetCollector.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberChangeSetCollector.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberChangeSetCollector.java
index 1df6ec588..e56545853 100644
--- a/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberChangeSetCollector.java
+++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/subscribers/SubscriberChangeSetCollector.java
@@ -421,6 +421,16 @@ public class SubscriberChangeSetCollector extends ChangeSetCollector implements
private void save() {
Preferences prefs = getPreferences();
+ // Clear the persisted state before saving the new state
+ try {
+ String[] oldSetNames = prefs.childrenNames();
+ for (int i = 0; i < oldSetNames.length; i++) {
+ String string = oldSetNames[i];
+ prefs.node(string).removeNode();
+ }
+ } catch (BackingStoreException e) {
+ TeamPlugin.log(IStatus.ERROR, NLS.bind("An error occurred purging the sommit set state for {0}", new String[] { getSubscriber().getName() }), e); //$NON-NLS-1$
+ }
ChangeSet[] sets = getSets();
for (int i = 0; i < sets.length; i++) {
ChangeSet set = sets[i];

Back to the top