Verifying trunk
Verifying tag Before_merge_20031204
Verifying tag Before_registry_reorg_31_merge
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-Before_registry_reorg_31_merge/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-Before_registry_reorg_31_merge/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:27.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-Before_registry_reorg_31_merge/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-Before_registry_reorg_31_merge/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-11-11 12:10:27.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-Before_registry_reorg_31_merge/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-Before_registry_reorg_31_merge/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-11-11 12:10:27.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag I20060605-1430
Verifying tag Post_merge_registry_reorg
Verifying tag Pre_merge_registry_reorg
Verifying tag R21x_v20030521
Verifying tag R2_0
Verifying tag R2_1
Verifying tag R2_1_1
Verifying tag R2_1_2
Verifying tag R2_1_3
Verifying tag R2_1_v20030514
Verifying tag R32x_v20060905
Verifying tag R32x_v20060907
Verifying tag R33x_v20070709
Verifying tag R34x_v20080826
Verifying tag R34x_v20081128
Verifying tag R34x_v20090602
Verifying tag R34x_v20090604
Verifying tag R34x_v20090825-1137
Verifying tag R34x_v20100920-0952
Verifying tag R34x_v20110610
Verifying tag R35x_v20090807-1100
Verifying tag R35x_v20090826-0451
Verifying tag R35x_v20091203-1235
Verifying tag R35x_v20100209
Verifying tag R35x_v20100928-0452
Verifying tag R36x_v20100719
Verifying tag R36x_v20100824
Verifying tag R36x_v20101213
Verifying tag R36x_v20110419
Verifying tag R37x_v20110627
Verifying tag R3_0
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-R3_0/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-R3_0/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-24 15:54:43.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-R3_0/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-R3_0/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-24 15:54:43.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-R3_0/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-R3_0/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-24 15:54:43.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag R3_0_1
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-R3_0_1/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-R3_0_1/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-09-10 14:49:39.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-R3_0_1/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-R3_0_1/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-09-10 14:49:39.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-R3_0_1/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-R3_0_1/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-09-10 14:49:39.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag R3_0_2
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-R3_0_2/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-R3_0_2/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-01-27 17:42:58.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-R3_0_2/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-R3_0_2/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-01-27 17:42:58.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-R3_0_2/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-R3_0_2/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-01-27 17:42:58.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag R3_1
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-R3_1/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-R3_1/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-06-23 12:22:59.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-R3_1/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-R3_1/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-06-23 12:22:59.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-R3_1/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-R3_1/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-06-23 12:22:59.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag R3_1_1
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-R3_1_1/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-R3_1_1/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-09-26 15:42:51.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-R3_1_1/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-R3_1_1/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-09-26 15:42:51.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-R3_1_1/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-R3_1_1/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-09-26 15:42:51.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag R3_1_2
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-R3_1_2/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-R3_1_2/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-10-27 16:00:16.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-R3_1_2/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-R3_1_2/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-10-27 16:00:16.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-R3_1_2/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-R3_1_2/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-10-27 16:00:16.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag R3_2
Verifying tag R3_2_1
Verifying tag R3_2_2
Verifying tag R3_3
Verifying tag R3_3_1
Verifying tag R3_3_1_1
Verifying tag R3_3_2
Verifying tag R3_4
Verifying tag R3_4_1
Verifying tag R3_4_2
Verifying tag R3_5
Verifying tag R3_5_1
Verifying tag R3_5_2
Verifying tag R3_6
Verifying tag R3_6_1
Verifying tag R3_6_2
Verifying tag R3_7
Verifying tag Root_Bug_36957
Verifying tag Root_JUnit4_incubator_bug153429
Verifying tag Root_Osgi_Layering
Verifying tag Root_Registry_reorg_31
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-Root_Registry_reorg_31/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-Root_Registry_reorg_31/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-01 17:18:41.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-Root_Registry_reorg_31/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-Root_Registry_reorg_31/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-11-01 17:18:41.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-Root_Registry_reorg_31/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-Root_Registry_reorg_31/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-11-01 17:18:41.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag Root_Registry_reorganisation
Verifying tag Root_john_perf_20030224
Verifying tag Root_new_xerces_work
Verifying tag Root_perf_301
Verifying tag Root_runtime_split
Verifying tag Root_vk_new_build_layout
Verifying tag V20040607_1200
Verifying tag after-osgi-api-refactor
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-after-osgi-api-refactor/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-after-osgi-api-refactor/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-17 18:09:47.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-after-osgi-api-refactor/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-after-osgi-api-refactor/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-17 18:09:47.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-after-osgi-api-refactor/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-after-osgi-api-refactor/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-17 18:09:47.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag after_Equinox_organize
Verifying tag after_Equinox_reformat
Verifying tag after_dup_removal
Verifying tag b20041112
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-b20041112/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-05 10:42:53.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-b20041112/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-12 14:02:06.000000000 -0500
  @@ -56,7 +56,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.1.2.2 2004/11/05 15:42:53 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.1.2.1 2004/11/04 21:40:35 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-b20041112/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-b20041112/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-12 14:02:06.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-b20041112/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-b20041112/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-11-12 14:02:06.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-b20041112/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-b20041112/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-11-12 14:02:06.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag b20041115
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-b20041115/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-05 10:42:53.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-b20041115/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-15 14:25:56.000000000 -0500
  @@ -56,7 +56,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.1.2.2 2004/11/05 15:42:53 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.1.2.1 2004/11/04 21:40:35 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-b20041115/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-b20041115/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-15 14:25:56.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-b20041115/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-b20041115/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-11-15 14:25:56.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-b20041115/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-b20041115/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-11-15 14:25:56.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag b20041115b
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-b20041115b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-05 10:42:53.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-b20041115b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-15 14:40:38.000000000 -0500
  @@ -56,7 +56,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.1.2.2 2004/11/05 15:42:53 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.1.2.1 2004/11/04 21:40:35 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-b20041115b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-b20041115b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-15 14:40:38.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-b20041115b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-b20041115b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-11-15 14:40:38.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-b20041115b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-b20041115b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-11-15 14:40:38.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag b20050114_postReview
Verifying tag before_Equinox_reformat
Verifying tag before_bug292135
Verifying tag before_deprecation_removal
Verifying tag before_dup_removal
Verifying tag initial
Verifying tag perf_213_v20041112
Verifying tag perf_213_v20041207
Verifying tag perf_301_v20041021
Verifying tag perf_301_v20041207
Verifying tag perf_301_v20050124
Verifying tag perf_301_v20050215
Verifying tag perf_301_v20050316
Verifying tag perf_301_v20050413
Verifying tag perf_301_v20050422
Verifying tag perf_301_v20050425
Verifying tag perf_301_v20050427
Verifying tag perf_301_v20050428
Verifying tag perf_30_v20041021
Verifying tag perf_30_v20041207
Verifying tag perf_30_v20041207a
Verifying tag perf_30_v20050124
Verifying tag perf_30_v20050215
Verifying tag perf_30_v20050316
Verifying tag perf_30_v20050413
Verifying tag perf_30_v20050422
Verifying tag perf_30_v20050425
Verifying tag perf_30_v20050427
Verifying tag perf_30_v20050428
Verifying tag perf_30_v20050428a
Verifying tag perf_31x_v20060111
Verifying tag pos_126344
Verifying tag post-109893
Verifying tag post_osgi_layering_merge
Verifying tag pre-109893
Verifying tag pre-bundleurls
Verifying tag pre-osgi-api-refactor
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-pre-osgi-api-refactor/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-pre-osgi-api-refactor/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-17 11:46:38.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-pre-osgi-api-refactor/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-pre-osgi-api-refactor/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-17 11:46:38.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-pre-osgi-api-refactor/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-pre-osgi-api-refactor/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-17 11:46:38.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag pre-runtime-split
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-pre-runtime-split/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-11-11 17:07:19.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-pre-runtime-split/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-11-15 16:22:34.000000000 -0500
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.5 2005/11/11 22:07:19 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.4 2005/08/17 15:01:28 twatson Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.5 $
  + * @version $Revision: 1.4 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-pre-runtime-split/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-11-11 17:07:19.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-pre-runtime-split/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-11-15 16:22:34.000000000 -0500
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.4 2005/11/11 22:07:19 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.3 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-pre-runtime-split/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-11-11 17:07:19.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-pre-runtime-split/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-11-15 16:22:34.000000000 -0500
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.4 2005/11/11 22:07:19 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag pre_126344
Verifying tag pre_R3_3
Verifying tag pre_osgiLayering_merge
Verifying tag r201_v20020724
Verifying tag r201_v20020801
Verifying tag r201_v20020820
Verifying tag r201_v20020822
Verifying tag r201_v20020828
Verifying tag r201v20020820
Verifying tag r2021_v20021122
Verifying tag r202_v20021018
Verifying tag r202_v20021022
Verifying tag r202_v20021024
Verifying tag r203_v20030221
Verifying tag r203_v20030303
Verifying tag r21x_v20030520
Verifying tag r21x_v20030528
Verifying tag r21x_v20030530
Verifying tag r21x_v20031031
Verifying tag r21x_v20040105
Verifying tag r30x_v20040714
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040714/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040714/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-07-14 16:00:07.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040714/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040714/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-07-14 16:00:07.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040714/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040714/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-07-14 16:00:07.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag r30x_v20040812
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040812/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040812/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-08-12 10:53:11.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040812/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040812/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-08-12 10:53:11.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040812/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040812/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-08-12 10:53:11.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag r30x_v20040817
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040817/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040817/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-08-16 14:47:29.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040817/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040817/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-08-16 14:47:29.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040817/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040817/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-08-16 14:47:29.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag r30x_v20040830
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040830/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040830/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-08-30 14:09:36.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040830/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040830/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-08-30 14:09:36.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040830/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040830/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-08-30 14:09:36.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag r30x_v20040831
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040831/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040831/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-08-31 10:46:48.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040831/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040831/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-08-31 10:46:48.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040831/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040831/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-08-31 10:46:48.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag r30x_v20040907
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040907/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040907/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-09-07 14:37:08.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040907/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040907/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-09-07 14:37:08.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040907/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040907/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-09-07 14:37:08.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag r30x_v20040907b
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040907b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040907b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-09-07 18:40:20.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040907b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040907b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-09-07 18:40:20.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040907b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040907b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-09-07 18:40:20.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag r30x_v20040910
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040910/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040910/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-09-10 14:49:40.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040910/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040910/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-09-10 14:49:40.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20040910/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20040910/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-09-10 14:49:40.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag r30x_v20041213
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20041213/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20041213/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-12-13 15:28:02.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20041213/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20041213/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-12-13 15:28:02.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20041213/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20041213/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-12-13 15:28:02.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag r30x_v20050107
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20050107/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20050107/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-01-07 09:14:47.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20050107/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20050107/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-01-07 09:14:47.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20050107/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20050107/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-01-07 09:14:47.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag r30x_v20050127
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20050127/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20050127/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-01-27 17:42:59.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20050127/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20050127/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-01-27 17:42:59.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r30x_v20050127/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r30x_v20050127/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-01-27 17:42:59.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag r31x_v20050915
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r31x_v20050915/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r31x_v20050915/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-09-15 14:54:09.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r31x_v20050915/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r31x_v20050915/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-09-15 14:54:09.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r31x_v20050915/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r31x_v20050915/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-09-15 14:54:09.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag r31x_v20050926
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r31x_v20050926/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r31x_v20050926/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-09-26 15:42:52.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r31x_v20050926/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r31x_v20050926/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-09-26 15:42:52.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r31x_v20050926/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r31x_v20050926/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-09-26 15:42:52.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag r31x_v20051027
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r31x_v20051027/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r31x_v20051027/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-10-27 16:00:17.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r31x_v20051027/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r31x_v20051027/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-10-27 16:00:17.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-r31x_v20051027/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-r31x_v20051027/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-10-27 16:00:17.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag r31x_v20060410
Verifying tag r321_v20060721
Verifying tag r322_v20070109
Verifying tag r322_v20070109a
Verifying tag r342_v20081203-0800
Verifying tag r342_v20081212-0800
Verifying tag r342_v20090313
Verifying tag r35x_v20090824-1112
Verifying tag rootOfDJBranch_20011205
Verifying tag testversion
Verifying tag v102
Verifying tag v103c
Verifying tag v104
Verifying tag v105
Verifying tag v106
Verifying tag v107
Verifying tag v108
Verifying tag v108a
Verifying tag v110
Verifying tag v111
Verifying tag v112
Verifying tag v114
Verifying tag v116
Verifying tag v117
Verifying tag v118
Verifying tag v120
Verifying tag v121
Verifying tag v122
Verifying tag v123
Verifying tag v127
Verifying tag v128
Verifying tag v130
Verifying tag v132
Verifying tag v133
Verifying tag v135
Verifying tag v145
Verifying tag v145a
Verifying tag v146
Verifying tag v148
Verifying tag v200
Verifying tag v20011211
Verifying tag v20011218
Verifying tag v20020115
Verifying tag v20020122
Verifying tag v20020129
Verifying tag v20020205
Verifying tag v20020212
Verifying tag v20020214
Verifying tag v20020226
Verifying tag v20020312
Verifying tag v20020318
Verifying tag v20020321
Verifying tag v20020326
Verifying tag v20020328
Verifying tag v20020402
Verifying tag v20020404
Verifying tag v20020409
Verifying tag v20020411
Verifying tag v20020411_patch
Verifying tag v20020418
Verifying tag v20020423
Verifying tag v20020425
Verifying tag v20020425vk_new_layout
Verifying tag v20020426vk_new_layout
Verifying tag v20020429_1520_vk_new_layout
Verifying tag v20020429_vk_post_merge
Verifying tag v20020429_vk_pre_merge
Verifying tag v20020429vk_new_layout
Verifying tag v20020430
Verifying tag v20020430a
Verifying tag v20020430b
Verifying tag v20020508
Verifying tag v20020509
Verifying tag v20020514
Verifying tag v20020515
Verifying tag v20020517
Verifying tag v20020519
Verifying tag v20020521
Verifying tag v20020528
Verifying tag v20020529
Verifying tag v20020529a
Verifying tag v20020530
Verifying tag v20020531
Verifying tag v20020601
Verifying tag v20020607
Verifying tag v20020610
Verifying tag v20020611
Verifying tag v20020612
Verifying tag v20020617
Verifying tag v20020618
Verifying tag v20020619
Verifying tag v20020619a
Verifying tag v20020621
Verifying tag v20020624
Verifying tag v20020625
Verifying tag v20020625a
Verifying tag v20020627
Verifying tag v20020730
Verifying tag v20020820
Verifying tag v20020911
Verifying tag v20021019
Verifying tag v20021023
Verifying tag v20021105
Verifying tag v20021108
Verifying tag v20021108a
Verifying tag v20021111
Verifying tag v20021118
Verifying tag v20021122
Verifying tag v20021126
Verifying tag v20021203
Verifying tag v20021209
Verifying tag v20021210
Verifying tag v20021212
Verifying tag v20021215
Verifying tag v20021215a
Verifying tag v20030113
Verifying tag v20030128
Verifying tag v20030205
Verifying tag v20030213
Verifying tag v20030217
Verifying tag v20030220
Verifying tag v20030221
Verifying tag v20030306
Verifying tag v20030310-postcopyrightupdate
Verifying tag v20030310-precopyrightupdate
Verifying tag v20030311
Verifying tag v20030313
Verifying tag v20030317
Verifying tag v20030318
Verifying tag v20030320
Verifying tag v20030324
Verifying tag v20030421
Verifying tag v20030514
Verifying tag v20030526
Verifying tag v20030530
Verifying tag v20030603
Verifying tag v20030617
Verifying tag v20030618
Verifying tag v20030623
Verifying tag v20030707
Verifying tag v20030709
Verifying tag v20030710
Verifying tag v20030710a
Verifying tag v20030714
Verifying tag v20030811
Verifying tag v20030818
Verifying tag v20030821
Verifying tag v20030825
Verifying tag v20030827
Verifying tag v20030828
Verifying tag v20030828a
Verifying tag v20030915
Verifying tag v20030916
Verifying tag v20030922_premerge
Verifying tag v20030923
Verifying tag v20030924
Verifying tag v20030929
Verifying tag v20031006
Verifying tag v20031007
Verifying tag v20031008
Verifying tag v20031009
Verifying tag v20031015
Verifying tag v20031015a
Verifying tag v20031016
Verifying tag v20031020
Verifying tag v20031021
Verifying tag v20031028
Verifying tag v20031028a
Verifying tag v20031029
Verifying tag v20031031a
Verifying tag v20031031b
Verifying tag v20031103
Verifying tag v20031111
Verifying tag v20031113
Verifying tag v20031117
Verifying tag v20031118
Verifying tag v20031119
Verifying tag v20031119b
Verifying tag v20031120
Verifying tag v20031121
Verifying tag v20031124
Verifying tag v20031124_pre_Equinox_merge
Verifying tag v20031127H12
Verifying tag v20031201
Verifying tag v20031201a
Verifying tag v20031202
Verifying tag v20031202a
Verifying tag v20031208
Verifying tag v20031209
Verifying tag v20031215
Verifying tag v20031215a
Verifying tag v20031216
Verifying tag v20031217
Verifying tag v20031218
Verifying tag v20031218a
Verifying tag v20040110
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040110/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-12-16 14:19:39.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040110/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-06 17:02:12.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.3 2004/12/16 14:41:45 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040110/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040110/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-01-06 17:02:12.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040110/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040110/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-01-06 17:02:12.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040110/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040110/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-01-06 17:02:12.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040112
Verifying tag v20040113
Verifying tag v20040119
Verifying tag v200401210800
Verifying tag v20040126
Verifying tag v20040127
Verifying tag v20040128
Verifying tag v20040129
Verifying tag v20040129a
Verifying tag v20040130
Verifying tag v20040130a
Verifying tag v20040202
Verifying tag v20040209
Verifying tag v20040210
Verifying tag v20040210a
Verifying tag v20040211
Verifying tag v20040216
Verifying tag v20040218
Verifying tag v20040219
Verifying tag v20040223
Verifying tag v20040224
Verifying tag v20040225
Verifying tag v20040225b
Verifying tag v20040301
Verifying tag v20040302
Verifying tag v20040303
Verifying tag v20040303_post-prefs
Verifying tag v20040303_pre-prefs
Verifying tag v20040308
Verifying tag v20040309
Verifying tag v20040309a
Verifying tag v20040315
Verifying tag v20040315b
Verifying tag v20040316
Verifying tag v20040317
Verifying tag v20040318
Verifying tag v20040318a
Verifying tag v20040321
Verifying tag v20040322
Verifying tag v20040323a
Verifying tag v20040323b
Verifying tag v20040324
Verifying tag v20040324a
Verifying tag v20040325
Verifying tag v20040325a
Verifying tag v20040325b
Verifying tag v20040329
Verifying tag v20040330
Verifying tag v20040405
Verifying tag v20040406
Verifying tag v20040412
Verifying tag v20040413
Verifying tag v20040417a
Verifying tag v20040417b
Verifying tag v20040417c
Verifying tag v20040417d
Verifying tag v20040419
Verifying tag v20040419b
Verifying tag v20040420
Verifying tag v20040426
Verifying tag v20040426a
Verifying tag v20040426b
Verifying tag v20040427
Verifying tag v20040503
Verifying tag v20040504
Verifying tag v20040510
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040510/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040510/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-10 16:35:57.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040510/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040510/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-10 16:35:57.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040510/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040510/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-10 16:35:57.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040510a
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040510a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040510a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-10 20:42:08.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040510a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040510a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-10 20:42:08.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040510a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040510a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-10 20:42:08.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040511
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040511/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040511/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-11 11:21:36.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040511/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040511/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-11 11:21:36.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040511/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040511/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-11 11:21:36.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040511_0010
Verifying tag v20040511_0800
Verifying tag v20040511a
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040511a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040511a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-11 12:28:12.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040511a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040511a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-11 12:28:12.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040511a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040511a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-11 12:28:12.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040511b
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040511b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040511b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-11 18:27:33.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040511b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040511b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-11 18:27:33.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040511b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040511b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-11 18:27:33.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040512_0800
Verifying tag v20040513_0800
Verifying tag v20040514
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040514/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040514/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-14 18:27:27.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040514/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040514/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-14 18:27:27.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040514/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040514/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-14 18:27:27.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040517
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040517/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040517/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-17 18:18:25.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040517/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040517/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-17 18:18:25.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040517/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040517/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-17 18:18:25.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040517_0800
Verifying tag v20040518
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040518/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040518/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-18 15:39:50.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040518/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040518/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-18 15:39:50.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040518/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040518/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-18 15:39:50.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040518_0800
Verifying tag v20040518a
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040518a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040518a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-18 16:16:27.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040518a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040518a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-18 16:16:27.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040518a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040518a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-18 16:16:27.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040518b
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040518b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040518b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-18 18:18:30.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040518b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040518b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-18 18:18:30.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040518b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040518b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-18 18:18:30.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040518c
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040518c/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040518c/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-18 22:41:38.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040518c/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040518c/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-18 22:41:38.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040518c/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040518c/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-18 22:41:38.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040519
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040519/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040519/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-19 16:37:56.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040519/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040519/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-19 16:37:56.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040519/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040519/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-19 16:37:56.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040520
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040520/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040520/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-20 11:47:51.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040520/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040520/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-20 11:47:51.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040520/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040520/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-20 11:47:51.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040520a
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040520a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040520a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-20 14:18:49.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040520a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040520a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-20 14:18:49.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040520a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040520a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-20 14:18:49.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040520d
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040520d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040520d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-20 23:16:44.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040520d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040520d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-20 23:16:44.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040520d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040520d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-20 23:16:44.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040525
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040525/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040525/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-24 13:57:28.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040525/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040525/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-24 13:57:28.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040525/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040525/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-24 13:57:28.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v200405250800
Verifying tag v20040525_1600
Verifying tag v20040525a
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040525a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040525a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-25 15:05:16.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040525a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040525a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-25 15:05:16.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040525a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040525a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-25 15:05:16.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040526
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040526/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040526/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-26 17:35:14.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040526/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040526/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-26 17:35:14.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040526/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040526/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-26 17:35:14.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040526_0800
Verifying tag v20040526_1600
Verifying tag v20040526b
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040526b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040526b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-26 15:43:44.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040526b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040526b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-26 15:43:44.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040526b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040526b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-26 15:43:44.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040526c
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040526c/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040526c/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-26 16:47:38.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040526c/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040526c/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-26 16:47:38.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040526c/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040526c/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-26 16:47:38.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040527
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040527/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040527/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-27 10:46:34.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040527/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040527/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-27 10:46:34.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040527/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040527/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-27 10:46:34.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040527_0800
Verifying tag v20040527_1600
Verifying tag v20040527a
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040527a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040527a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-27 11:51:15.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040527a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040527a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-27 11:51:15.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040527a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040527a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-27 11:51:15.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040527b
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040527b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040527b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-27 15:17:13.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040527b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040527b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-27 15:17:13.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040527b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040527b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-27 15:17:13.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040527c
Verifying tag v20040527d
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040527d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040527d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-27 19:17:52.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040527d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040527d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-27 19:17:52.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040527d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040527d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-27 19:17:52.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040527e
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040527e/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040527e/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-27 19:27:05.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040527e/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040527e/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-27 19:27:05.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040527e/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040527e/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-27 19:27:05.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040527f
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040527f/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040527f/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-27 20:06:08.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040527f/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040527f/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-27 20:06:08.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040527f/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040527f/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-27 20:06:08.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040528
Verifying tag v20040528b
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040528b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040528b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-28 11:41:25.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040528b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040528b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-28 11:41:25.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040528b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040528b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-28 11:41:25.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040603
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040603/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040603/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-03 15:39:00.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040603/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040603/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-03 15:39:00.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040603/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040603/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-03 15:39:00.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040603_0800
Verifying tag v20040603_1600
Verifying tag v20040603a
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040603a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040603a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-03 16:50:50.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040603a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040603a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-03 16:50:50.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040603a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040603a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-03 16:50:50.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040604_0800
Verifying tag v20040604_1600
Verifying tag v20040604a
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040604a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040604a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-04 15:13:12.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040604a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040604a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-04 15:13:12.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040604a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040604a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-04 15:13:12.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040608
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040608/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040608/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-08 14:36:42.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040608/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040608/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-08 14:36:42.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040608/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040608/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-08 14:36:42.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040608_1200
Verifying tag v20040609
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040609/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040609/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-09 17:18:57.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040609/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040609/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-09 17:18:57.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040609/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040609/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-09 17:18:57.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040609_1200
Verifying tag v20040610
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040610/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040610/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-10 23:03:39.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040610/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040610/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-10 23:03:39.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040610/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040610/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-10 23:03:39.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040610_1600
Verifying tag v20040611_0800
Verifying tag v20040615
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040615/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040615/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-15 16:02:37.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040615/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040615/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-15 16:02:37.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040615/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040615/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-15 16:02:37.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040616
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040616/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040616/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-16 11:44:21.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040616/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040616/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-16 11:44:21.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040616/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040616/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-16 11:44:21.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040616_1600
Verifying tag v20040616a
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040616a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040616a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-16 17:50:24.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040616a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040616a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-16 17:50:24.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040616a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040616a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-16 17:50:24.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040617
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040617/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040617/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-17 12:12:30.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040617/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040617/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-17 12:12:30.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040617/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040617/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-17 12:12:30.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040617_1600
Verifying tag v20040617b
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040617b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040617b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-17 18:42:53.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040617b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040617b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-17 18:42:53.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040617b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040617b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-17 18:42:53.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040618
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040618/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040618/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-18 07:00:30.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040618/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040618/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-18 07:00:30.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040618/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040618/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-18 07:00:30.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040618_0800
Verifying tag v20040618_1700
Verifying tag v20040618a
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040618a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040618a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-18 13:52:09.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040618a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040618a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-18 13:52:09.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040618a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040618a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-18 13:52:09.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040621
Verifying tag v20040622
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040622/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040622/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-22 12:37:32.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040622/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040622/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-22 12:37:32.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040622/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040622/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-22 12:37:32.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040622_0800
Verifying tag v20040622_1600
Verifying tag v20040623
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040623/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040623/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-23 08:58:54.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040623/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040623/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-23 08:58:54.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040623/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040623/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-23 08:58:54.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040623_1600_post_copyright
Verifying tag v20040623_1600_pre_copyright
Verifying tag v20040623a
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040623a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040623a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-23 14:23:31.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040623a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040623a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-23 14:23:31.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040623a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040623a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-23 14:23:31.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040623b
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040623b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040623b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-23 15:09:44.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040623b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040623b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-23 15:09:44.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040623b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040623b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-23 15:09:44.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040623c
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040623c/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040623c/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-23 15:35:20.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040623c/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040623c/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-23 15:35:20.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040623c/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040623c/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-23 15:35:20.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040623d
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040623d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040623d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-23 16:09:35.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040623d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040623d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-23 16:09:35.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040623d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040623d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-23 16:09:35.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040624
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040624/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040624/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-23 17:10:42.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040624/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040624/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-23 17:10:42.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040624/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040624/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-23 17:10:42.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v200406241800
Verifying tag v20040624_0800
Verifying tag v20040624_1800
Verifying tag v20040624a
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040624a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040624a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-24 13:57:53.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040624a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040624a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-24 13:57:53.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040624a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040624a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-24 13:57:53.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040624e
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040624e/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040624e/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-06-24 15:54:44.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040624e/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040624e/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-06-24 15:54:44.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040624e/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040624e/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-06-24 15:54:44.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040625_1200
Verifying tag v20040727
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040727/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040727/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-07-27 11:45:53.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040727/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040727/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-07-27 11:45:53.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040727/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040727/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-07-27 11:45:53.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040803_0800
Verifying tag v20040806
Verifying tag v200408090800
Verifying tag v200408100800
Verifying tag v200408170800
Verifying tag v20040824
Verifying tag v20040830
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040830/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040830/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-08-30 18:00:55.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040830/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040830/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-08-30 18:00:55.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040830/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040830/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-08-30 18:00:55.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040831
Verifying tag v20040907
Verifying tag v20040914
Verifying tag v20040917
Verifying tag v20040917-beforesessiontests
Verifying tag v20040920
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040920/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040920/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-09-20 17:22:44.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040920/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040920/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-09-20 17:22:44.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040920/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040920/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-09-20 17:22:44.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040921
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040921/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040921/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-09-21 10:37:39.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040921/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040921/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-09-21 10:37:39.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040921/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040921/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-09-21 10:37:39.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v200409211300
Verifying tag v20040928
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040928/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040928/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-09-28 11:28:19.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040928/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040928/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-09-28 11:28:19.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040928/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040928/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-09-28 11:28:19.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v200409280800
Verifying tag v20040929
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040929/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040929/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-09-29 13:05:07.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040929/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040929/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-09-29 13:05:07.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20040929/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20040929/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-09-29 13:05:07.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20040929-aftersessiontests
Verifying tag v20040929-beforesessiontests
Verifying tag v200410050800
Verifying tag v20041012
Verifying tag v200410120800
Verifying tag v20041012a
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041012a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041012a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-10-06 10:37:33.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041012a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041012a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-10-06 10:37:33.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041012a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041012a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-10-06 10:37:33.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20041013
Verifying tag v20041018
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041018/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041018/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-10-18 15:51:56.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041018/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041018/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-10-18 15:51:56.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041018/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041018/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-10-18 15:51:56.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v200410190800
Verifying tag v20041022_1707
Verifying tag v20041025
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041025/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041025/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-10-21 16:23:51.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041025/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041025/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-10-21 16:23:51.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041025/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041025/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-10-21 16:23:51.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20041026
Verifying tag v20041101
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041101/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041101/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-01 17:18:42.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041101/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041101/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-11-01 17:18:42.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041101/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041101/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-11-01 17:18:42.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v200411010800
Verifying tag v200411020800
Verifying tag v200411021800
Verifying tag v20041103
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041103/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041103/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-03 17:13:19.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041103/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041103/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-11-03 17:13:19.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041103/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041103/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-11-03 17:13:19.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v200411040010
Verifying tag v200411041200
Verifying tag v20041108
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041108/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041108/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-07 22:56:03.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041108/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041108/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-11-07 22:56:03.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041108/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041108/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-11-07 22:56:03.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v200411090800
Verifying tag v20041115
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041115/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-15 15:08:57.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041115/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-15 15:08:58.000000000 -0500
  @@ -56,7 +56,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.2 2004/11/15 20:08:57 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.1.2.2 2004/11/05 15:42:53 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041115/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041115/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-15 15:08:58.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041115/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041115/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-11-15 15:08:58.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041115/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041115/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-11-15 15:08:58.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20041115d
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041115d/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-15 15:08:57.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041115d/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-15 15:51:40.000000000 -0500
  @@ -56,7 +56,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.2 2004/11/15 20:08:57 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.1.2.2 2004/11/05 15:42:53 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041115d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041115d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-15 15:51:40.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041115d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041115d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-11-15 15:51:40.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041115d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041115d/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-11-15 15:51:40.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20041116
Verifying tag v200411160800
Verifying tag v20041122
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041122/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-15 15:08:57.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041122/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-22 11:28:28.000000000 -0500
  @@ -56,7 +56,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.2 2004/11/15 20:08:57 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.1.2.2 2004/11/05 15:42:53 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041122/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041122/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-22 11:28:28.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041122/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041122/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-11-22 11:28:28.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041122/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041122/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-11-22 11:28:28.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v200411230800
Verifying tag v20041129
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041129/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-15 15:08:57.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041129/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-29 10:29:31.000000000 -0500
  @@ -56,7 +56,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.2 2004/11/15 20:08:57 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.1.2.2 2004/11/05 15:42:53 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041129/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041129/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-29 10:29:31.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041129/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041129/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-11-29 10:29:31.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041129/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041129/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-11-29 10:29:31.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20041130
Verifying tag v20041206
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041206/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-15 15:08:57.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041206/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-12-06 16:48:50.000000000 -0500
  @@ -56,7 +56,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.2 2004/11/15 20:08:57 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.1.2.2 2004/11/05 15:42:53 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041206/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041206/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-12-06 16:48:50.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041206/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041206/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-12-06 16:48:50.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041206/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041206/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-12-06 16:48:50.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v200412070800
Verifying tag v20041208
Verifying tag v20041213
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041213/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-15 15:08:57.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041213/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-12-10 08:56:41.000000000 -0500
  @@ -56,7 +56,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.2 2004/11/15 20:08:57 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.1.2.2 2004/11/05 15:42:53 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041213/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041213/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-12-10 08:56:41.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041213/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041213/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-12-10 08:56:41.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041213/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041213/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-12-10 08:56:41.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v200412130800
Verifying tag v20041213b
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041213b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-15 15:08:57.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041213b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-12-13 10:52:19.000000000 -0500
  @@ -56,7 +56,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.2 2004/11/15 20:08:57 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.1.2.2 2004/11/05 15:42:53 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041213b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041213b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-12-13 10:52:19.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041213b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041213b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-12-13 10:52:19.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041213b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041213b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-12-13 10:52:19.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20041214
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041214/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-15 15:08:57.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041214/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-12-14 12:06:34.000000000 -0500
  @@ -56,7 +56,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.2 2004/11/15 20:08:57 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.1.2.2 2004/11/05 15:42:53 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041214/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041214/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-12-14 12:06:34.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041214/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041214/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-12-14 12:06:34.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041214/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041214/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-12-14 12:06:34.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v200412140800
Verifying tag v200412141600
Verifying tag v20041216
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041216/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-12-16 09:41:45.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041216/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-12-16 09:41:46.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.3 2004/12/16 14:41:45 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.2 2004/11/15 20:08:57 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041216/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041216/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-12-16 09:41:46.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041216/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041216/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-12-16 09:41:46.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041216/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041216/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-12-16 09:41:46.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v200412160800
Verifying tag v200412161600
Verifying tag v20041216b
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041216b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-12-16 14:19:39.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041216b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-12-16 14:19:40.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.3 2004/12/16 14:41:45 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041216b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041216b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-12-16 14:19:40.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041216b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041216b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-12-16 14:19:40.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041216b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041216b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-12-16 14:19:40.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20041221-0800
Verifying tag v20041223
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041223/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-12-16 14:19:39.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041223/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-12-23 11:09:57.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.3 2004/12/16 14:41:45 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041223/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041223/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-12-23 11:09:57.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041223/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041223/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-12-23 11:09:57.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20041223/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20041223/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-12-23 11:09:57.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v200501040800
Verifying tag v20050110
Verifying tag v20050111
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050111/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-12-16 14:19:39.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050111/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-11 14:36:58.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.3 2004/12/16 14:41:45 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050111/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050111/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-01-11 14:36:58.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050111/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050111/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-01-11 14:36:58.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050111/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050111/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-01-11 14:36:58.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v200501110800
Verifying tag v20050114
Verifying tag v20050117
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050117/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-12-16 14:19:39.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050117/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-17 17:45:21.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.3 2004/12/16 14:41:45 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050117/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050117/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-01-17 17:45:21.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050117/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050117/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-01-17 17:45:21.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050117/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050117/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-01-17 17:45:21.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050118
Verifying tag v20050121_post_DynamicContentTypeManager
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050121_post_DynamicContentTypeManager/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-19 14:26:16.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050121_post_DynamicContentTypeManager/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-21 18:00:51.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.5 2005/01/19 19:26:16 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050121_post_DynamicContentTypeManager/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050121_post_DynamicContentTypeManager/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-01-21 18:00:51.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050121_post_DynamicContentTypeManager/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050121_post_DynamicContentTypeManager/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-01-21 18:00:51.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050121_post_DynamicContentTypeManager/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050121_post_DynamicContentTypeManager/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-01-21 18:00:51.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050121_pre_DynamicContentTypeManager
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050121_pre_DynamicContentTypeManager/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-19 14:26:16.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050121_pre_DynamicContentTypeManager/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-20 18:41:50.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.5 2005/01/19 19:26:16 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050121_pre_DynamicContentTypeManager/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050121_pre_DynamicContentTypeManager/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-01-20 18:41:50.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050121_pre_DynamicContentTypeManager/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050121_pre_DynamicContentTypeManager/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-01-20 18:41:50.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050121_pre_DynamicContentTypeManager/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050121_pre_DynamicContentTypeManager/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-01-20 18:41:50.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050124
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050124/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-19 14:26:16.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050124/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-24 14:15:35.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.5 2005/01/19 19:26:16 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050124/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050124/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-01-24 14:15:35.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050124/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050124/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-01-24 14:15:35.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050124/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050124/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-01-24 14:15:35.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050131
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050131/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-19 14:26:16.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050131/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-31 11:05:30.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.5 2005/01/19 19:26:16 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050131/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050131/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-01-31 11:05:30.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050131/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050131/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-01-31 11:05:30.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050131/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050131/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-01-31 11:05:30.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050201
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050201/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-19 14:26:16.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050201/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-02-01 00:39:04.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.5 2005/01/19 19:26:16 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050201/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050201/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-02-01 00:39:04.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050201/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050201/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-02-01 00:39:04.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050201/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050201/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-02-01 00:39:04.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v200502010800
Verifying tag v20050207
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050207/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-19 14:26:16.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050207/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-02-07 16:50:56.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.5 2005/01/19 19:26:16 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050207/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050207/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-02-07 16:50:56.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050207/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050207/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-02-07 16:50:56.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050207/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050207/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-02-07 16:50:56.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050208
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050208/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-19 14:26:16.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050208/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-02-08 17:15:58.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.5 2005/01/19 19:26:16 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050208/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050208/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-02-08 17:15:58.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050208/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050208/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-02-08 17:15:58.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050208/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050208/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-02-08 17:15:58.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v200502080800
Verifying tag v20050211
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050211/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-19 14:26:16.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050211/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-02-11 11:38:05.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.5 2005/01/19 19:26:16 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050211/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050211/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-02-11 11:38:05.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050211/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050211/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-02-11 11:38:05.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050211/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050211/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-02-11 11:38:05.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050214
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050214/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-19 14:26:16.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050214/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-02-14 18:10:26.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.5 2005/01/19 19:26:16 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050214/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050214/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-02-14 18:10:26.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050214/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050214/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-02-14 18:10:26.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050214/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050214/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-02-14 18:10:26.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050214-0800
Verifying tag v20050215
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050215/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-19 14:26:16.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050215/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-02-14 18:10:26.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.5 2005/01/19 19:26:16 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050215/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050215/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-02-14 18:10:26.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050215/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050215/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-02-14 18:10:26.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050215/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050215/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-02-14 18:10:26.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050215-0800
Verifying tag v20050215-1600
Verifying tag v20050215a
Verifying tag v20050221_after_deleting_test_classes
Verifying tag v20050221_after_deleting_test_data
Verifying tag v20050221_pre_copyright_fix
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050221_pre_copyright_fix/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-19 14:26:16.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050221_pre_copyright_fix/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-02-21 15:53:37.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.5 2005/01/19 19:26:16 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050221_pre_copyright_fix/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050221_pre_copyright_fix/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-02-21 15:53:37.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050221_pre_copyright_fix/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050221_pre_copyright_fix/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-02-21 15:53:37.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050221_pre_copyright_fix/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050221_pre_copyright_fix/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-02-21 15:53:37.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050222
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050222/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-19 14:26:16.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050222/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-02-21 18:10:20.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.5 2005/01/19 19:26:16 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050222/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050222/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-02-21 18:10:20.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050222/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050222/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-02-21 18:10:20.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050222/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050222/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-02-21 18:10:20.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050222-0800
Verifying tag v20050225
Verifying tag v20050228
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050228/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-19 14:26:16.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050228/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-02-26 09:11:39.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.5 2005/01/19 19:26:16 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050228/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050228/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-02-26 09:11:39.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050228/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050228/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-02-26 09:11:39.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050228/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050228/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-02-26 09:11:39.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050301-0800
Verifying tag v20050304_post_IContentTypeManager_split
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050304_post_IContentTypeManager_split/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-19 14:26:16.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050304_post_IContentTypeManager_split/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-03-04 17:18:55.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.5 2005/01/19 19:26:16 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050304_post_IContentTypeManager_split/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050304_post_IContentTypeManager_split/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-03-04 17:18:55.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050304_post_IContentTypeManager_split/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050304_post_IContentTypeManager_split/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-03-04 17:18:55.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050304_post_IContentTypeManager_split/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050304_post_IContentTypeManager_split/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-03-04 17:18:55.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050304_pre_IContentTypeManager_split
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050304_pre_IContentTypeManager_split/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-19 14:26:16.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050304_pre_IContentTypeManager_split/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-03-04 17:16:15.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.5 2005/01/19 19:26:16 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050304_pre_IContentTypeManager_split/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050304_pre_IContentTypeManager_split/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-03-04 17:16:15.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050304_pre_IContentTypeManager_split/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050304_pre_IContentTypeManager_split/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-03-04 17:16:15.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050304_pre_IContentTypeManager_split/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050304_pre_IContentTypeManager_split/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-03-04 17:16:15.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050307
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050307/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-19 14:26:16.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050307/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-03-07 13:54:23.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.5 2005/01/19 19:26:16 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050307/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050307/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-03-07 13:54:23.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050307/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050307/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-03-07 13:54:23.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050307/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050307/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-03-07 13:54:23.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050308
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050308/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-19 14:26:16.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050308/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-03-08 06:36:57.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.5 2005/01/19 19:26:16 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050308/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050308/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-03-08 06:36:57.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050308/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050308/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-03-08 06:36:57.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050308/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050308/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-03-08 06:36:57.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050308-0800
Verifying tag v20050314
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050314/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-01-19 14:26:16.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050314/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-03-14 11:27:00.000000000 -0500
  @@ -64,7 +64,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.5 2005/01/19 19:26:16 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.4 2004/12/16 19:19:39 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050314/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050314/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-03-14 11:27:00.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050314/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050314/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-03-14 11:27:00.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050314/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050314/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-03-14 11:27:00.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050315-0800
Verifying tag v20050322
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050322/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-03-18 16:56:45.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050322/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-03-21 16:53:49.000000000 -0500
  @@ -63,7 +63,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.7 2005/03/18 21:56:45 johna Exp $
  + *  @version $Id: ReferenceMap.java,v 1.6 2005/03/18 15:27:09 johna Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050322/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050322/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-03-21 16:53:49.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050322/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050322/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-03-21 16:53:49.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050322/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050322/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-03-21 16:53:49.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050323
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050323/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-03-18 16:56:45.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050323/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-03-23 17:34:17.000000000 -0500
  @@ -63,7 +63,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.7 2005/03/18 21:56:45 johna Exp $
  + *  @version $Id: ReferenceMap.java,v 1.6 2005/03/18 15:27:09 johna Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050323/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050323/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-03-23 17:34:17.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050323/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050323/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-03-23 17:34:17.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050323/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050323/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-03-23 17:34:17.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050324
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050324/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-03-18 16:56:45.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050324/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-03-24 12:06:01.000000000 -0500
  @@ -63,7 +63,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.7 2005/03/18 21:56:45 johna Exp $
  + *  @version $Id: ReferenceMap.java,v 1.6 2005/03/18 15:27:09 johna Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050324/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050324/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-03-24 12:06:01.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050324/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050324/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-03-24 12:06:01.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050324/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050324/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-03-24 12:06:01.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050324-0800
Verifying tag v20050328
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050328/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-03-18 16:56:45.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050328/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-03-28 16:41:30.000000000 -0500
  @@ -63,7 +63,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.7 2005/03/18 21:56:45 johna Exp $
  + *  @version $Id: ReferenceMap.java,v 1.6 2005/03/18 15:27:09 johna Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050328/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050328/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-03-28 16:41:30.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050328/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050328/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-03-28 16:41:30.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050328/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050328/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-03-28 16:41:30.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050329-0800
Verifying tag v20050329-1600
Verifying tag v20050330
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050330/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-03-18 16:56:45.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050330/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-03-30 09:54:29.000000000 -0500
  @@ -63,7 +63,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.7 2005/03/18 21:56:45 johna Exp $
  + *  @version $Id: ReferenceMap.java,v 1.6 2005/03/18 15:27:09 johna Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050330/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050330/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-03-30 09:54:29.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050330/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050330/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-03-30 09:54:29.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050330/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050330/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-03-30 09:54:29.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050331-1200
Verifying tag v20050404
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050404/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-03-18 16:56:45.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050404/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2005-04-04 16:55:33.000000000 -0400
  @@ -63,7 +63,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.7 2005/03/18 21:56:45 johna Exp $
  + *  @version $Id: ReferenceMap.java,v 1.6 2005/03/18 15:27:09 johna Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050404/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050404/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-04-04 16:55:33.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050404/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050404/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-04-04 16:55:33.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050404/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050404/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-04-04 16:55:33.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050405-0800
Verifying tag v20050411
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050411/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050411/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-04-11 17:44:06.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050411/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050411/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-04-11 17:44:06.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050411/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050411/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-04-11 17:44:06.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050412-0800
Verifying tag v20050418
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050418/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050418/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-04-18 13:01:48.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050418/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050418/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-04-18 13:01:48.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050418/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050418/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-04-18 13:01:48.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050419-0800
Verifying tag v20050425
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050425/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050425/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-04-25 17:26:58.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050425/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050425/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-04-25 17:26:58.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050425/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050425/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-04-25 17:26:58.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050426-0800
Verifying tag v20050426a
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050426a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050426a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-04-26 12:11:35.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050426a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050426a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-04-26 12:11:35.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050426a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050426a/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-04-26 12:11:35.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050428_pre_content_type_changes
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050428_pre_content_type_changes/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050428_pre_content_type_changes/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-04-27 17:54:23.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050428_pre_content_type_changes/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050428_pre_content_type_changes/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-04-27 17:54:23.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050428_pre_content_type_changes/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050428_pre_content_type_changes/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-04-27 17:54:23.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050506
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050506/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050506/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-06 10:53:49.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050506/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050506/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-06 10:53:49.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050506/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050506/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-06 10:53:49.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050506-1600
Verifying tag v20050509
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050509/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050509/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-09 11:40:53.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050509/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050509/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-09 11:40:53.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050509/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050509/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-09 11:40:53.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050509-1600
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050509-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050509-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-09 15:25:34.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050509-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050509-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-09 15:25:34.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050509-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050509-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-09 15:25:34.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050509-2000
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050509-2000/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050509-2000/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-09 19:15:44.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050509-2000/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050509-2000/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-09 19:15:44.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050509-2000/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050509-2000/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-09 19:15:44.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050512-1200
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050512-1200/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050512-1200/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-12 11:18:40.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050512-1200/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050512-1200/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-12 11:18:40.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050512-1200/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050512-1200/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-12 11:18:40.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050512-1600
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050512-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-11 12:10:26.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050512-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-12 13:56:28.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.2 2004/11/11 17:10:26 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.1 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050512-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050512-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-12 13:56:28.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050512-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050512-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-12 13:56:28.000000000 -0400
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying tag v20050525a
Verifying tag v20050526
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050526/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050526/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-26 11:07:58.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050526/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050526/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-26 11:07:58.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050526/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050526/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-26 11:07:58.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20050526-1200
Verifying tag v20050526-1600
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050526-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050526-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-26 15:28:03.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050526-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050526-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-26 15:28:03.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050526-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050526-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-26 15:28:03.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20050526-1600b
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050526-1600b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050526-1600b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-26 15:47:30.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050526-1600b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050526-1600b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-26 15:47:30.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050526-1600b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050526-1600b/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-26 15:47:30.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20050609-1200
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050609-1200/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050609-1200/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-06-08 16:50:27.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050609-1200/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050609-1200/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-06-08 16:50:27.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050609-1200/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050609-1200/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-06-08 16:50:27.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20050609-1600
Verifying tag v20050609-2000
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050609-2000/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050609-2000/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-06-09 17:20:04.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050609-2000/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050609-2000/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-06-09 17:20:04.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050609-2000/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050609-2000/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-06-09 17:20:04.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20050616
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050616/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050616/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-06-14 15:33:43.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050616/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050616/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-06-14 15:33:43.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050616/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050616/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-06-14 15:33:43.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20050616-1200
Verifying tag v20050617-1200
Verifying tag v20050617-preCopyrightPass
Verifying tag v20050622
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050622/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050622/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-06-22 16:25:42.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050622/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050622/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-06-22 16:25:42.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050622/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050622/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-06-22 16:25:42.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20050623-1200
Verifying tag v20050623-1600
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050623-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050623-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-06-23 12:23:00.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050623-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050623-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-06-23 12:23:00.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050623-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050623-1600/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-06-23 12:23:00.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20050726
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050726/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050726/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-07-25 16:45:53.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050726/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050726/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-07-25 16:45:53.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050726/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050726/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-07-25 16:45:53.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20050726-0800
Verifying tag v20050802-0800
Verifying tag v20050805
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050805/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050805/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-08-03 06:43:18.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050805/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050805/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-08-03 06:43:18.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050805/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050805/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-08-03 06:43:18.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20050808-0010
Verifying tag v20050808-1200
Verifying tag v20050810-1200
Verifying tag v20050816-0800
Verifying tag v20050822
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050822/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050822/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-08-22 15:18:41.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.4 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.9 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.9 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050822/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050822/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-08-22 15:18:41.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.8 2005/08/10 01:07:52 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050822/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050822/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-08-22 15:18:41.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.8 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20050823-0800
Verifying tag v20050826
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050826/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050826/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-08-26 15:39:22.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.4 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.9 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.9 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050826/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050826/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-08-26 15:39:22.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.8 2005/08/10 01:07:52 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050826/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050826/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-08-26 15:39:22.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.8 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20050830-0800
Verifying tag v20050906-0800
Verifying tag v20050912
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050912/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050912/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-09-07 15:24:58.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.4 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.9 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.9 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050912/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050912/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-09-07 15:24:58.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.8 2005/08/10 01:07:52 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050912/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050912/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-09-07 15:24:58.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.8 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20050913-0800
Verifying tag v20050916
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050916/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050916/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-09-16 11:23:36.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.4 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.9 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.9 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050916/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050916/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-09-16 11:23:36.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.8 2005/08/10 01:07:52 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050916/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050916/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-09-16 11:23:36.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.8 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20050919-0010
Verifying tag v20050919-1200
Verifying tag v20050919H11
Verifying tag v20050921-0010
Verifying tag v20050921-1600
Verifying tag v20050926
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050926/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050926/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-09-26 15:48:26.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.4 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.9 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.9 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050926/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050926/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-09-26 15:48:26.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.8 2005/08/10 01:07:52 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20050926/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20050926/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-09-26 15:48:26.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.8 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20050927-0800
Verifying tag v20051004-0800
Verifying tag v20051007
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20051007/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20051007/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-10-07 16:13:26.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.4 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.9 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.9 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20051007/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20051007/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-10-07 16:13:26.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.8 2005/08/10 01:07:52 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20051007/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20051007/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-10-07 16:13:26.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.8 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20051011-0800
Verifying tag v20051018
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20051018/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20051018/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-10-12 17:06:45.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.4 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.9 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.9 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20051018/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20051018/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-10-12 17:06:45.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.8 2005/08/10 01:07:52 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20051018/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20051018/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-10-12 17:06:45.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.8 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20051018-0800
Verifying tag v20051024
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20051024/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20051024/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-10-20 14:31:05.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.4 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.9 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.9 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20051024/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20051024/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-10-20 14:31:05.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.8 2005/08/10 01:07:52 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20051024/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20051024/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-10-20 14:31:05.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.8 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20051025-0800
Verifying tag v20051027
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20051027/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20051027/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-10-26 16:47:49.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.4 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.9 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.9 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20051027/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20051027/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-10-26 16:47:49.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.8 2005/08/10 01:07:52 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20051027/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20051027/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-10-26 16:47:49.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.8 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20051028
Verifying tag v20051031-0010
Verifying tag v20051031-0800
Verifying tag v20051031-1200
Verifying tag v20051031-1800
Verifying tag v20051102
Verifying tag v20051108
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20051108/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20051108/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-11-04 15:27:44.000000000 -0500
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.4 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.9 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.9 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20051108/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20051108/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-11-04 15:27:44.000000000 -0500
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.8 2005/08/10 01:07:52 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20051108/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-08-17 11:01:28.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20051108/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-11-04 15:27:44.000000000 -0500
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.8 2005/08/11 03:07:45 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20051108-0800
Verifying tag v20051114
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20051114/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-11-11 17:07:19.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20051114/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-11-11 17:10:16.000000000 -0500
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.5 2005/11/11 22:07:19 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java,v 1.4 2005/08/17 15:01:28 twatson Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.5 $
  + * @version $Revision: 1.4 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20051114/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-11-11 17:07:19.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20051114/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-11-11 17:10:16.000000000 -0500
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.4 2005/11/11 22:07:19 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.3 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-tag-v20051114/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-11-11 17:07:19.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-tag-v20051114/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-11-11 17:10:16.000000000 -0500
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.4 2005/11/11 22:07:19 johna Exp $
  + * $Header: /home/eclipse/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java,v 1.3 2005/08/17 15:01:28 twatson Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying tag v20051115-0800
Verifying tag v200511211912
Verifying tag v20051122-0800
Verifying tag v20051128
Verifying tag v20051129-0800
Verifying tag v20051205
Verifying tag v20051206-0800
Verifying tag v20051206-1200
Verifying tag v20051208
Verifying tag v20051212-0010
Verifying tag v20051212-0800
Verifying tag v20051220-0800
Verifying tag v20060103-0800
Verifying tag v20060109
Verifying tag v20060110-0800
Verifying tag v20060116
Verifying tag v20060117-0800
Verifying tag v20060123
Verifying tag v20060124-0800
Verifying tag v20060130
Verifying tag v20060131-0800
Verifying tag v20060206
Verifying tag v20060208
Verifying tag v20060209
Verifying tag v20060210
Verifying tag v20060210-0800
Verifying tag v20060210-1200
Verifying tag v20060213
Verifying tag v20060213-1600
Verifying tag v20060213-1800
Verifying tag v20060215-1200
Verifying tag v20060215a
Verifying tag v20060216
Verifying tag v20060220
Verifying tag v20060221-0800
Verifying tag v20060223_M5a
Verifying tag v20060224
Verifying tag v20060227
Verifying tag v20060228-0800
Verifying tag v20060306
Verifying tag v20060307-0800
Verifying tag v20060313
Verifying tag v20060314-0800
Verifying tag v20060317
Verifying tag v20060320
Verifying tag v20060321-0800
Verifying tag v20060327
Verifying tag v20060327-0010
Verifying tag v20060327-1200
Verifying tag v20060327-1600
Verifying tag v20060328_fixedCopyrights
Verifying tag v20060329-0010
Verifying tag v20060329-1600
Verifying tag v20060411
Verifying tag v20060412-0800
Verifying tag v20060412-1600
Verifying tag v20060412-1700
Verifying tag v20060412-2000
Verifying tag v20060413-1200
Verifying tag v20060418
Verifying tag v20060426
Verifying tag v20060427-0800
Verifying tag v20060427-1600
Verifying tag v20060504-1200
Verifying tag v20060510
Verifying tag v20060511
Verifying tag v20060511-0800
Verifying tag v20060512-1326
Verifying tag v20060518-0800
Verifying tag v20060601
Verifying tag v20060601a
Verifying tag v20060601b
Verifying tag v20060602
Verifying tag v20060602-0010
Verifying tag v20060603
Verifying tag v20060605-1400
Verifying tag v20060612
Verifying tag v20060613-0800
Verifying tag v20060619
Verifying tag v20060620-0800
Verifying tag v20060626
Verifying tag v20060627-0800
Verifying tag v20060704-0800
Verifying tag v20060710
Verifying tag v20060711-0800
Verifying tag v20060717
Verifying tag v20060718-0800
Verifying tag v20060724
Verifying tag v20060725-0800
Verifying tag v20060731
Verifying tag v20060801-0800
Verifying tag v20060803-0010
Verifying tag v20060803-1200
Verifying tag v20060804-1600
Verifying tag v20060807-1600
Verifying tag v20060808
Verifying tag v20060809-1200
Verifying tag v20060812-0800
Verifying tag v20060815-0800
Verifying tag v20060828
Verifying tag v20060829-0800
Verifying tag v20060905
Verifying tag v20060905-0800
Verifying tag v20060912-0800
Verifying tag v20060918-0800
Verifying tag v20060920-0800
Verifying tag v20060920-1200
Verifying tag v20060926-0800
Verifying tag v20061003-0800
Verifying tag v20061006
Verifying tag v20061010-0800
Verifying tag v20061017-0800
Verifying tag v20061023
Verifying tag v20061024-0800
Verifying tag v20061027
Verifying tag v20061030
Verifying tag v20061030-0010
Verifying tag v20061030-1200
Verifying tag v20061101-0800
Verifying tag v20061106
Verifying tag v20061107-0800
Verifying tag v20061113
Verifying tag v20061114-0800
Verifying tag v20061120
Verifying tag v20061121-0800
Verifying tag v20061128-0800
Verifying tag v20061204
Verifying tag v20061205-0800
Verifying tag v20061211-0010
Verifying tag v20061211-1600
Verifying tag v20061213-1300
Verifying tag v20061213-1300b
Verifying tag v20070108
Verifying tag v20070109-1100
Verifying tag v20070116-0800
Verifying tag v20070123-0800
Verifying tag v20070129
Verifying tag v20070130-0800
Verifying tag v20070202
Verifying tag v20070205-0010
Verifying tag v20070205-1800
Verifying tag v20070213-0800
Verifying tag v20070220-0800
Verifying tag v20070226
Verifying tag v20070227-0800
Verifying tag v20070306-0800
Verifying tag v20070312
Verifying tag v20070313-0800
Verifying tag v20070316
Verifying tag v20070319
Verifying tag v20070319-0010
Verifying tag v20070319-0800
Verifying tag v20070319-1800
Verifying tag v20070327-0800
Verifying tag v20070330
Verifying tag v20070403-0800
Verifying tag v20070409
Verifying tag v20070410-0800
Verifying tag v20070417-0800
Verifying tag v20070423
Verifying tag v20070424-0800
Verifying tag v20070426
Verifying tag v20070427-0010
Verifying tag v20070427-0800
Verifying tag v20070427-1300
Verifying tag v20070430-0010
Verifying tag v20070430-0800
Verifying tag v20070430-1300
Verifying tag v20070501
Verifying tag v20070501-0010
Verifying tag v20070502
Verifying tag v20070503-0800
Verifying tag v20070508-0800
Verifying tag v20070510
Verifying tag v20070510-0010
Verifying tag v20070511-0010
Verifying tag v20070511-0100
Verifying tag v20070512-0010
Verifying tag v20070515-0010
Verifying tag v20070516-0010
Verifying tag v20070523-0010
Verifying tag v20070524-0010
Verifying tag v20070525-0010
Verifying tag v20070525-0010a
Verifying tag v20070525-1050
Verifying tag v20070530
Verifying tag v20070530-0010
Verifying tag v20070531-0010
Verifying tag v20070531-1300
Verifying tag v20070605-0010
Verifying tag v20070606-0010
Verifying tag v20070709
Verifying tag v20070710-0800
Verifying tag v20070717
Verifying tag v20070717-0800
Verifying tag v20070724-0800
Verifying tag v20070730
Verifying tag v20070731-0800
Verifying tag v20070802-0800
Verifying tag v20070806-0010
Verifying tag v20070806-1800
Verifying tag v20070808-1800
Verifying tag v20070814-0800
Verifying tag v20070820
Verifying tag v20070821-0800
Verifying tag v20070827
Verifying tag v20070828-0800
Verifying tag v20070904-0800
Verifying tag v20070910
Verifying tag v20070911-0800
Verifying tag v20070914
Verifying tag v20070916
Verifying tag v20070917-1800
Verifying tag v20070925-0800
Verifying tag v20071002-0800
Verifying tag v20071008
Verifying tag v20071009-0800
Verifying tag v20071016-0800
Verifying tag v20071023-0800
Verifying tag v20071026
Verifying tag v20071027-0010
Verifying tag v20071029-1800
Verifying tag v20071031-1800
Verifying tag v20071105
Verifying tag v20071106-0800
Verifying tag v20071112
Verifying tag v20071113-0800
Verifying tag v20071120-0800
Verifying tag v20071126
Verifying tag v20071127-0800
Verifying tag v20071204
Verifying tag v20071204-0800
Verifying tag v20071207
Verifying tag v20071210-0010
Verifying tag v20071210-1600
Verifying tag v20071212-1800
Verifying tag v20071218-0800
Verifying tag v20080107
Verifying tag v20080108-0800
Verifying tag v20080114
Verifying tag v20080115-0800
Verifying tag v20080121
Verifying tag v20080122-0800
Verifying tag v20080128
Verifying tag v20080129-0800
Verifying tag v20080201
Verifying tag v20080204-0010
Verifying tag v20080204-1800
Verifying tag v20080211
Verifying tag v20080212-0800
Verifying tag v20080218
Verifying tag v20080219-0800
Verifying tag v20080222
Verifying tag v20080224
Verifying tag v20080225
Verifying tag v20080226-0800
Verifying tag v20080303
Verifying tag v20080304-0800
Verifying tag v20080310
Verifying tag v20080311-0800
Verifying tag v20080317
Verifying tag v20080318-0800
Verifying tag v20080320-0800
Verifying tag v20080323-0800
Verifying tag v20080324-1725
Verifying tag v20080327-0100
Verifying tag v20080327-1300
Verifying tag v20080401-0800
Verifying tag v20080407
Verifying tag v20080408-0800
Verifying tag v20080414
Verifying tag v20080415-0800
Verifying tag v20080421-1805
Verifying tag v20080422-0800
Verifying tag v20080427-2000
Verifying tag v20080430-0100
Verifying tag v20080506-2000
Verifying tag v20080507-2000
Verifying tag v20080509-2000
Verifying tag v20080512
Verifying tag v20080513-2000
Verifying tag v20080514-2000
Verifying tag v20080515-2000
Verifying tag v20080521-2000
Verifying tag v20080522-1800
Verifying tag v20080527-2000
Verifying tag v20080528-2000
Verifying tag v20080529-0800
Verifying tag v20080529-1300
Verifying tag v20080530-1508
Verifying tag v20080603-2000
Verifying tag v20080604-1400
Verifying tag v20080610
Verifying tag v20080613-1033
Verifying tag v20080613-1240
Verifying tag v20080624-0800
Verifying tag v20080701-0800
Verifying tag v20080708-0800
Verifying tag v20080714
Verifying tag v20080715-0800
Verifying tag v20080722-0800
Verifying tag v20080729-0800
Verifying tag v20080731-0800
Verifying tag v20080804-1800
Verifying tag v20080805
Verifying tag v20080806-1800
Verifying tag v20080812-0800
Verifying tag v20080819-0800
Verifying tag v20080825
Verifying tag v20080826-0800
Verifying tag v20080902-0800
Verifying tag v20080909-0800
Verifying tag v20080909-ascu
Verifying tag v20080909-bscu
Verifying tag v20080914-2000
Verifying tag v20080915-0800
Verifying tag v20080923-0800
Verifying tag v20080929
Verifying tag v20080930-0800
Verifying tag v20081006
Verifying tag v20081006b
Verifying tag v20081007-0800
Verifying tag v20081010
Verifying tag v20081014-0800
Verifying tag v20081020
Verifying tag v20081021-0800
Verifying tag v20081026
Verifying tag v20081026-2000
Verifying tag v20081027-1300
Verifying tag v20081029-1100
Verifying tag v20081103
Verifying tag v20081104-0800
Verifying tag v20081110
Verifying tag v20081111-0800
Verifying tag v20081117
Verifying tag v20081118-0800
Verifying tag v20081124
Verifying tag v20081125-0800
Verifying tag v20081201
Verifying tag v20081202-0800
Verifying tag v20081202-1600
Verifying tag v20081207-2000
Verifying tag v20081208-1150
Verifying tag v20081209-0100
Verifying tag v20081210-1300
Verifying tag v20081211-0735
Verifying tag v20081215
Verifying tag v20081216-0800
Verifying tag v20090105
Verifying tag v20090106-0800
Verifying tag v20090112
Verifying tag v20090113-0900
Verifying tag v20090119
Verifying tag v20090120-0800
Verifying tag v20090125-2000
Verifying tag v20090126
Verifying tag v20090203
Verifying tag v20090203-1200
Verifying tag v20090209
Verifying tag v20090210-0800
Verifying tag v20090213
Verifying tag v20090217-0800
Verifying tag v20090223
Verifying tag v20090224-0800
Verifying tag v20090302
Verifying tag v20090303-0800
Verifying tag v20090306
Verifying tag v20090308
Verifying tag v20090309-1800
Verifying tag v20090310-1800
Verifying tag v20090311-0800
Verifying tag v20090316
Verifying tag v20090317-0800
Verifying tag v20090324-0800
Verifying tag v20090330
Verifying tag v20090407-0745
Verifying tag v20090413
Verifying tag v20090420
Verifying tag v20090425
Verifying tag v20090428
Verifying tag v20090429-1800
Verifying tag v20090520
Verifying tag v20090525
Verifying tag v20090629
Verifying tag v20090720
Verifying tag v20090727
Verifying tag v20090727a
Verifying tag v20090810
Verifying tag v20090817
Verifying tag v20090824
Verifying tag v20090824-1017
Verifying tag v20090824-1030
Verifying tag v20090831
Verifying tag v20090911
Verifying tag v20090921
Verifying tag v20090925
Verifying tag v20090928
Verifying tag v20091102
Verifying tag v20091109
Verifying tag v20091116
Verifying tag v20091123
Verifying tag v20091125
Verifying tag v20091125-1620
Verifying tag v20091127
Verifying tag v20091201
Verifying tag v20091203
Verifying tag v20091204
Verifying tag v20091221
Verifying tag v201
Verifying tag v20100121
Verifying tag v20100125
Verifying tag v20100208
Verifying tag v20100222
Verifying tag v20100301
Verifying tag v20100304
Verifying tag v20100322
Verifying tag v20100329
Verifying tag v20100405
Verifying tag v20100412
Verifying tag v20100421-2300
Verifying tag v20100428
Verifying tag v20100505
Verifying tag v20100505-1235
Verifying tag v20100508
Verifying tag v20100510
Verifying tag v20100515
Verifying tag v20100517
Verifying tag v20100520
Verifying tag v20100628
Verifying tag v20100719
Verifying tag v20100823
Verifying tag v20100906
Verifying tag v20100913
Verifying tag v20101008
Verifying tag v20101108
Verifying tag v20101122
Verifying tag v20101203-1034
Verifying tag v20101213
Verifying tag v20110102
Verifying tag v20110110
Verifying tag v20110124
Verifying tag v20110207
Verifying tag v20110214
Verifying tag v20110228
Verifying tag v20110321-2120
Verifying tag v20110328
Verifying tag v20110329-0641
Verifying tag v20110404
Verifying tag v20110420
Verifying tag v20110423-0524
Verifying tag v20110427
Verifying tag v20110505
Verifying tag v20110506
Verifying tag v20110620
Verifying tag v202
Verifying tag v203
Verifying tag v204
Verifying tag v205
Verifying tag v206
Verifying tag v207
Verifying tag v209
Verifying tag v210
Verifying tag v211
Verifying tag v213
Verifying tag vSplit_VK_20020128
Verifying tag vSplit_VK_20020131
Verifying tag zzJohnMerge082701
Verifying tag zzJohnSplit081501
Verifying branch Bug_36957
Verifying branch Bug_50750
Verifying branch JUnit4_incubator_bug153429
Verifying branch JohnWork
Verifying branch M5_32_branch
Verifying branch Osgi_Layering
Verifying branch R1_0
Verifying branch R2_0_1
Verifying branch R2_1_maintenance
Verifying branch R3_0_maintenance
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-branch-R3_0_maintenance/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-branch-R3_0_maintenance/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-01-27 17:42:57.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-branch-R3_0_maintenance/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-branch-R3_0_maintenance/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-01-27 17:42:57.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-branch-R3_0_maintenance/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-branch-R3_0_maintenance/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-01-27 17:42:57.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying branch R3_1_maintenance
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-branch-R3_1_maintenance/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-branch-R3_1_maintenance/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2006-04-10 10:14:52.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.3 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/BackingStoreException.java,v 1.8 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -13,7 +13,7 @@
    * Thrown to indicate that a preferences operation could not complete because of
    * a failure in the backing store, or a failure to contact the backing store.
    * 
  - * @version $Revision: 1.3 $
  + * @version $Revision: 1.8 $
    */
   public class BackingStoreException extends Exception {
       static final long serialVersionUID = -1415637364122829574L;
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-branch-R3_1_maintenance/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-branch-R3_1_maintenance/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2006-04-10 10:14:52.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/Preferences.java,v 1.7 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  @@ -102,7 +102,7 @@
    * preference data.
    * 
    * 
  - * @version $Revision: 1.2 $
  + * @version $Revision: 1.7 $
    */
   public interface Preferences {
   	/**
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-branch-R3_1_maintenance/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2005-05-16 16:49:57.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-branch-R3_1_maintenance/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2006-04-10 10:14:52.000000000 -0400
  @@ -1,5 +1,5 @@
   /*
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.2 2005/05/16 20:49:57 twatson Exp $
  + * $Header: /cvshome/build/org.osgi.service.prefs/src/org/osgi/service/prefs/PreferencesService.java,v 1.6 2005/05/13 20:33:41 hargrave Exp $
    * 
    * Copyright (c) OSGi Alliance (2001, 2005). All Rights Reserved.
    * 
  
Verifying branch R3_2_maintenance
Verifying branch R3_3_maintenance
Verifying branch R3_4_maintenance
Verifying branch R3_5_maintenance
Verifying branch R3_6_maintenance
Verifying branch R3_7_maintenance
Verifying branch Registry_reorg_31
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-branch-Registry_reorg_31/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-05 10:42:53.000000000 -0500
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-branch-Registry_reorg_31/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/registry/ReferenceMap.java	2004-11-15 14:40:38.000000000 -0500
  @@ -56,7 +56,7 @@
    *  provide synchronized access to a <Code>ReferenceMap</Code>.
    *
    *  @author Paul Jack 
  - *  @version $Id: ReferenceMap.java,v 1.1.2.2 2004/11/05 15:42:53 prapicau Exp $
  + *  @version $Id: ReferenceMap.java,v 1.1.2.1 2004/11/04 21:40:35 prapicau Exp $
    *  @since 2.1
    *  @see java.lang.ref.Reference
    */
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-branch-Registry_reorg_31/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-branch-Registry_reorg_31/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/BackingStoreException.java	2004-11-15 14:40:38.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)BackingStoreException.java   1.3 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/BackingStoreException.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/BackingStoreException.java,v 1.6 2002/09/20 11:55:57 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  @@ -18,7 +18,7 @@
    * of a failure in the backing store, or a failure to contact the backing
    * store.
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.6 $
    * @author Open Services Gateway Initiative
    */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-branch-Registry_reorg_31/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-branch-Registry_reorg_31/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Preferences.java	2004-11-15 14:40:38.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)Preferences.java 1.7 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/Preferences.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/Preferences.java,v 1.17 2002/10/08 06:43:04 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential.
    *
  @@ -99,7 +99,7 @@
    * data.
    *
    *
  - * @version $Revision: 1.1 $
  + * @version $Revision: 1.17 $
    * @author Open Services Gateway Initiative
   */
   
  
 FAIL: File contents differ for bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java
  --- /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/cvs-export-branch-Registry_reorg_31/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-05-05 11:14:34.000000000 -0400
  +++ /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/compare-tmp/git-export-branch-Registry_reorg_31/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/PreferencesService.java	2004-11-15 14:40:38.000000000 -0500
  @@ -1,6 +1,6 @@
   /*
    * @(#)PreferencesService.java  1.4 01/07/18
  - * $Header: /opt/pwebster/git/cvs/verify-eclipse.platform.runtime/cvsroot.eclipse.platform.runtime/eclipse.platform.runtime/bundles/org.eclipse.core.runtime/src/org/osgi/service/prefs/Attic/PreferencesService.java,v 1.1 2004/05/05 15:14:34 jeff Exp $
  + * $Header: /cvshome/repository/org/osgi/service/prefs/PreferencesService.java,v 1.5 2001/07/31 19:06:00 pkriens Exp $
    *
    * Open Services Gateway Initiative (OSGi) Confidential. 
    * 
  
Verifying branch Registry_reorganisation
Verifying branch RollUp2
Verifying branch Toronto
Verifying branch Update_Integration_Stream
Verifying branch VK
Verifying branch branch_30m8
Verifying branch build132
Verifying branch djbranch_20011205
Verifying branch filesystem
Verifying branch john_perf_20030224
Verifying branch new_xerces_work
Verifying branch perf_213
Verifying branch perf_30
Verifying branch perf_301
Verifying branch perf_31x
Verifying branch perf_34x
Verifying branch runtime_split
Skipped branch unlabeled-1.1.2
Skipped branch unlabeled-1.13.2
Skipped branch unlabeled-1.2.2
Skipped branch unlabeled-1.23.4
Skipped branch unlabeled-1.4.4
Skipped branch unlabeled-1.5.2
Skipped branch unlabeled-1.5.6
Verifying branch v20011127_patch1
Verifying branch v20020411a
Verifying branch vk_new_build_layout
Verifying branch xApp_reorg_33
FAIL: cvsroot.eclipse.platform.runtime != verify.eclipse.platform.runtime: 528 failure(s) in:
  tag:Before_registry_reorg_31_merge
  tag:R3_0
  tag:R3_0_1
  tag:R3_0_2
  tag:R3_1
  tag:R3_1_1
  tag:R3_1_2
  tag:Root_Registry_reorg_31
  tag:after-osgi-api-refactor
  tag:b20041112
  tag:b20041115
  tag:b20041115b
  tag:pre-osgi-api-refactor
  tag:pre-runtime-split
  tag:r30x_v20040714
  tag:r30x_v20040812
  tag:r30x_v20040817
  tag:r30x_v20040830
  tag:r30x_v20040831
  tag:r30x_v20040907
  tag:r30x_v20040907b
  tag:r30x_v20040910
  tag:r30x_v20041213
  tag:r30x_v20050107
  tag:r30x_v20050127
  tag:r31x_v20050915
  tag:r31x_v20050926
  tag:r31x_v20051027
  tag:v20040110
  tag:v20040510
  tag:v20040510a
  tag:v20040511
  tag:v20040511a
  tag:v20040511b
  tag:v20040514
  tag:v20040517
  tag:v20040518
  tag:v20040518a
  tag:v20040518b
  tag:v20040518c
  tag:v20040519
  tag:v20040520
  tag:v20040520a
  tag:v20040520d
  tag:v20040525
  tag:v20040525a
  tag:v20040526
  tag:v20040526b
  tag:v20040526c
  tag:v20040527
  tag:v20040527a
  tag:v20040527b
  tag:v20040527d
  tag:v20040527e
  tag:v20040527f
  tag:v20040528b
  tag:v20040603
  tag:v20040603a
  tag:v20040604a
  tag:v20040608
  tag:v20040609
  tag:v20040610
  tag:v20040615
  tag:v20040616
  tag:v20040616a
  tag:v20040617
  tag:v20040617b
  tag:v20040618
  tag:v20040618a
  tag:v20040622
  tag:v20040623
  tag:v20040623a
  tag:v20040623b
  tag:v20040623c
  tag:v20040623d
  tag:v20040624
  tag:v20040624a
  tag:v20040624e
  tag:v20040727
  tag:v20040830
  tag:v20040920
  tag:v20040921
  tag:v20040928
  tag:v20040929
  tag:v20041012a
  tag:v20041018
  tag:v20041025
  tag:v20041101
  tag:v20041103
  tag:v20041108
  tag:v20041115
  tag:v20041115d
  tag:v20041122
  tag:v20041129
  tag:v20041206
  tag:v20041213
  tag:v20041213b
  tag:v20041214
  tag:v20041216
  tag:v20041216b
  tag:v20041223
  tag:v20050111
  tag:v20050117
  tag:v20050121_post_DynamicContentTypeManager
  tag:v20050121_pre_DynamicContentTypeManager
  tag:v20050124
  tag:v20050131
  tag:v20050201
  tag:v20050207
  tag:v20050208
  tag:v20050211
  tag:v20050214
  tag:v20050215
  tag:v20050221_pre_copyright_fix
  tag:v20050222
  tag:v20050228
  tag:v20050304_post_IContentTypeManager_split
  tag:v20050304_pre_IContentTypeManager_split
  tag:v20050307
  tag:v20050308
  tag:v20050314
  tag:v20050322
  tag:v20050323
  tag:v20050324
  tag:v20050328
  tag:v20050330
  tag:v20050404
  tag:v20050411
  tag:v20050418
  tag:v20050425
  tag:v20050426a
  tag:v20050428_pre_content_type_changes
  tag:v20050506
  tag:v20050509
  tag:v20050509-1600
  tag:v20050509-2000
  tag:v20050512-1200
  tag:v20050512-1600
  tag:v20050526
  tag:v20050526-1600
  tag:v20050526-1600b
  tag:v20050609-1200
  tag:v20050609-2000
  tag:v20050616
  tag:v20050622
  tag:v20050623-1600
  tag:v20050726
  tag:v20050805
  tag:v20050822
  tag:v20050826
  tag:v20050912
  tag:v20050916
  tag:v20050926
  tag:v20051007
  tag:v20051018
  tag:v20051024
  tag:v20051027
  tag:v20051108
  tag:v20051114
  branch:R3_0_maintenance
  branch:R3_1_maintenance
  branch:Registry_reorg_31
