From 412ad6b800c1fbd15661110e21d836b888231cce Mon Sep 17 00:00:00 2001
From: Gaetan Boismal <gaetan.boismal@forgerock.com>
Date: Wed, 26 Aug 2015 15:23:41 +0000
Subject: [PATCH] OPENDJ-2232 Fix OpenDJ trunk to use Git

---
 opendj-server-legacy/src/main/java/org/opends/quicksetup/BuildInformation.java                          |   27 ++--
 opendj-server-legacy/src/main/java/org/opends/server/util/BuildVersion.java                             |   51 +++++++--
 opendj-server-legacy/src/messages/org/opends/messages/backend.properties                                |    2 
 opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Importer.java                         |    2 
 opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java                          |    4 
 opendj-server-legacy/src/main/java/org/opends/server/monitors/VersionMonitorProvider.java               |    3 
 opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeBufferImporter.java  |    2 
 opendj-server-legacy/src/main/java/org/opends/quicksetup/Installation.java                              |   22 +--
 pom.xml                                                                                                 |    8 
 opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/BuildVersion.java                      |   33 ++----
 opendj-server-legacy/src/messages/org/opends/messages/core.properties                                   |    2 
 opendj-server-legacy/src/main/resources/java-stubs/org/opends/server/util/DynamicConstants.java         |   11 +-
 opendj-server-legacy/src/main/java/org/opends/server/util/VersionCompatibilityIssue.java                |   27 ++---
 opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java                        |    4 
 opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java                         |   68 ++++++------
 opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeTasks.java                    |    2 
 opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeStorageImporter.java |    2 
 opendj-server-legacy/src/main/java/org/opends/server/util/SetupUtils.java                               |    6 
 opendj-server-legacy/src/test/java/org/opends/quicksetup/InstallationTest.java                          |    3 
 19 files changed, 141 insertions(+), 138 deletions(-)

diff --git a/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/BuildVersion.java b/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/BuildVersion.java
index f9faba7..a781633 100644
--- a/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/BuildVersion.java
+++ b/opendj-config/src/main/java/org/forgerock/opendj/config/dsconfig/BuildVersion.java
@@ -22,7 +22,7 @@
  *
  *
  *      Copyright 2008 Sun Microsystems, Inc.
- *      Portions Copyright 2013-2014 ForgeRock AS.
+ *      Portions Copyright 2013-2015 ForgeRock AS.
  */
 package org.forgerock.opendj.config.dsconfig;
 
@@ -43,6 +43,7 @@
 import org.forgerock.opendj.ldap.Connection;
 import org.forgerock.opendj.ldap.LdapException;
 import org.forgerock.opendj.ldap.responses.SearchResultEntry;
+import org.forgerock.util.Utils;
 
 /**
  * Represents a particular version of OpenDJ useful for making comparisons between versions. FIXME TODO Move this file
@@ -53,7 +54,7 @@
     private final int major;
     private final int minor;
     private final int point;
-    private final long rev;
+    private final String rev;
 
     /**
      * Creates a new build version using the provided version information.
@@ -65,9 +66,9 @@
      * @param point
      *            Point release version number.
      * @param rev
-     *            VCS revision number.
+     *            VCS revision.
      */
-    public BuildVersion(final int major, final int minor, final int point, final long rev) {
+    public BuildVersion(final int major, final int minor, final int point, final String rev) {
         this.major = major;
         this.minor = minor;
         this.point = point;
@@ -157,7 +158,7 @@
         final int major = Integer.parseInt(fields[0]);
         final int minor = Integer.parseInt(fields[1]);
         final int point = Integer.parseInt(fields[2]);
-        final long rev = Long.parseLong(fields[3]);
+        final String rev = fields[3];
         return new BuildVersion(major, minor, point, rev);
     }
 
@@ -194,7 +195,7 @@
             return true;
         } else if (obj instanceof BuildVersion) {
             final BuildVersion other = (BuildVersion) obj;
-            return major == other.major && minor == other.minor && point == other.point && rev == other.rev;
+            return major == other.major && minor == other.minor && point == other.point && rev.equals(other.rev);
         } else {
             return false;
         }
@@ -207,7 +208,7 @@
                 if (point == version.point) {
                     if (rev == version.rev) {
                         return 0;
-                    } else if (rev < version.rev) {
+                    } else if (rev.compareTo(version.rev) < 0) {
                         return -1;
                     }
                 } else if (point < version.point) {
@@ -223,17 +224,17 @@
     }
 
     /**
-     * Returns the VCS revision number.
+     * Returns the VCS revision.
      *
-     * @return The VCS revision number.
+     * @return The VCS revision.
      */
-    public long getRevisionNumber() {
+    public String getRevision() {
         return rev;
     }
 
     /** {@inheritDoc} */
     public int hashCode() {
-        return Arrays.hashCode(new int[] { major, minor, point, (int) (rev >>> 32), (int) (rev & 0xFFFFL) });
+        return Arrays.hashCode(new int[] { major, minor, point, rev.hashCode() });
     }
 
     /**
@@ -246,14 +247,6 @@
      * @return The string representation of the version.
      */
     public String toString() {
-        final StringBuilder builder = new StringBuilder();
-        builder.append(major);
-        builder.append('.');
-        builder.append(minor);
-        builder.append('.');
-        builder.append(point);
-        builder.append('.');
-        builder.append(rev);
-        return builder.toString();
+        return Utils.joinAsString(".", major, minor, point, rev);
     }
 }
diff --git a/opendj-server-legacy/src/main/java/org/opends/quicksetup/BuildInformation.java b/opendj-server-legacy/src/main/java/org/opends/quicksetup/BuildInformation.java
index 97c989d..57241a8 100644
--- a/opendj-server-legacy/src/main/java/org/opends/quicksetup/BuildInformation.java
+++ b/opendj-server-legacy/src/main/java/org/opends/quicksetup/BuildInformation.java
@@ -145,7 +145,7 @@
                 MAJOR_VERSION,
                 MINOR_VERSION,
                 POINT_VERSION,
-                REVISION_NUMBER);
+                REVISION);
           }
           catch (Throwable t)
           {
@@ -174,7 +174,7 @@
             MAJOR_VERSION,
             MINOR_VERSION,
             POINT_VERSION,
-            REVISION_NUMBER);
+            REVISION);
 
     return bi;
   }
@@ -198,7 +198,7 @@
 
     // Allow negative revision number for cases where there is no
     // VCS available.
-    Pattern p = Pattern.compile("((\\d+)\\.(\\d+)\\.(\\d+)\\.(-?\\d+))");
+    Pattern p = Pattern.compile("((\\d+)\\.(\\d+)\\.(\\d+)\\.(-?.+))");
     Matcher m = p.matcher(bn);
     if (!m.matches()) {
       throw new IllegalArgumentException("'" + bn + "' is not a build string");
@@ -208,7 +208,7 @@
       bi.values.put(MAJOR_VERSION, m.group(2));
       bi.values.put(MINOR_VERSION, m.group(3));
       bi.values.put(POINT_VERSION, m.group(4));
-      bi.values.put(REVISION_NUMBER, m.group(5));
+      bi.values.put(REVISION, m.group(5));
     } catch (Exception e) {
       throw new IllegalArgumentException("Error parsing build number " + bn);
     }
@@ -233,8 +233,7 @@
             String.valueOf(DynamicConstants.POINT_VERSION));
     bi.values.put(VERSION_QUALIFIER,
             String.valueOf(DynamicConstants.VERSION_QUALIFIER));
-    bi.values.put(REVISION_NUMBER,
-            String.valueOf(DynamicConstants.REVISION_NUMBER));
+    bi.values.put(REVISION, DynamicConstants.REVISION);
     bi.values.put(URL_REPOSITORY,
             String.valueOf(DynamicConstants.URL_REPOSITORY));
     bi.values.put(FIX_IDS, DynamicConstants.FIX_IDS);
@@ -253,7 +252,7 @@
             MAJOR_VERSION,
             MINOR_VERSION,
             POINT_VERSION,
-            REVISION_NUMBER);
+            REVISION);
 
     return bi;
   }
@@ -306,12 +305,12 @@
   }
 
   /**
-   * Gets the SVN revision number.
+   * Gets the VCS revision.
    *
-   * @return Integer representing the SVN revision number
+   * @return String representing the VCS revision
    */
-  public Integer getRevisionNumber() {
-    return Integer.valueOf(values.get(REVISION_NUMBER));
+  public String getRevision() {
+    return values.get(REVISION);
   }
 
   /** {@inheritDoc} */
@@ -336,9 +335,9 @@
     if (getMajorVersion().equals(bi.getMajorVersion())) {
       if (getMinorVersion().equals(bi.getMinorVersion())) {
         if (getPointVersion().equals(bi.getPointVersion())) {
-          if (getRevisionNumber().equals(bi.getRevisionNumber())) {
+          if (getRevision().equals(bi.getRevision())) {
             return 0;
-          } else if (getRevisionNumber() < bi.getRevisionNumber()) {
+          } else if (getRevision().compareTo(bi.getRevision()) < 0) {
             return -1;
           }
         } else if (getPointVersion() < bi.getPointVersion()) {
@@ -371,7 +370,7 @@
     hc = 31 * hc + getMajorVersion().hashCode();
     hc = 31 * hc + getMinorVersion().hashCode();
     hc = 31 * hc + getPointVersion().hashCode();
-    hc = 31 * hc + getRevisionNumber().hashCode();
+    hc = 31 * hc + getRevision().hashCode();
     return hc;
   }
 
diff --git a/opendj-server-legacy/src/main/java/org/opends/quicksetup/Installation.java b/opendj-server-legacy/src/main/java/org/opends/quicksetup/Installation.java
index 9a15f20..68b2986 100644
--- a/opendj-server-legacy/src/main/java/org/opends/quicksetup/Installation.java
+++ b/opendj-server-legacy/src/main/java/org/opends/quicksetup/Installation.java
@@ -552,8 +552,7 @@
    */
   public File getBaseSchemaFile() throws ApplicationException
   {
-    return new File(getConfigurationUpgradeDirectory(),
-        "schema.ldif." + getInstanceSvnRev());
+    return new File(getConfigurationUpgradeDirectory(), "schema.ldif." + getInstanceVCSRevision());
   }
 
 
@@ -569,38 +568,35 @@
    */
   public File getBaseConfigurationFile() throws ApplicationException
   {
-    return new File(getConfigurationUpgradeDirectory(),
-        BASE_CONFIG_FILE_PREFIX + getInstanceSvnRev());
+    return new File(getConfigurationUpgradeDirectory(), BASE_CONFIG_FILE_PREFIX + getInstanceVCSRevision());
   }
 
 
 
   /**
-   * Gets the SVN revision number of the build.
+   * Gets the VCS revision of the build.
    *
-   * @return Integer representing the svn number
+   * @return String representing the VCS revision
    * @throws ApplicationException
    *           if for some reason the number could not be determined
    */
-  public Integer getSvnRev() throws ApplicationException
+  public String getVCSRevision() throws ApplicationException
   {
-    BuildInformation bi = getBuildInformation();
-    return bi.getRevisionNumber();
+    return getBuildInformation().getRevision();
   }
 
 
 
   /**
-   * Gets the SVN revision number of the instance.
+   * Gets the VCS revision of the instance.
    *
    * @return Integer representing the svn number
    * @throws ApplicationException
    *           if for some reason the number could not be determined
    */
-  public Integer getInstanceSvnRev() throws ApplicationException
+  public String getInstanceVCSRevision() throws ApplicationException
   {
-    BuildInformation bi = getInstanceBuildInformation();
-    return bi.getRevisionNumber();
+    return getInstanceBuildInformation().getRevision();
   }
 
 
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java
index cb4a77f..4cad0f0 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/SchemaBackend.java
@@ -338,9 +338,7 @@
       }
       else
       {
-        concatFile = new File(upgradeDirectory,
-                              SCHEMA_BASE_FILE_NAME_WITHOUT_REVISION +
-                              DynamicConstants.REVISION_NUMBER);
+        concatFile = new File(upgradeDirectory, SCHEMA_BASE_FILE_NAME_WITHOUT_REVISION + DynamicConstants.REVISION);
         if (concatFile.exists())
         {
           concatFilePath = concatFile.getAbsolutePath();
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Importer.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Importer.java
index c7a78a8..0cfa17e 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Importer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/Importer.java
@@ -890,7 +890,7 @@
       updateDiskMonitor(tempDir, "backend import tmp directory");
       updateDiskMonitor(backendDirectory, "backend import DB directory");
 
-      logger.info(NOTE_IMPORT_STARTING, DirectoryServer.getVersionString(), BUILD_ID, REVISION_NUMBER);
+      logger.info(NOTE_IMPORT_STARTING, DirectoryServer.getVersionString(), BUILD_ID, REVISION);
       logger.info(NOTE_IMPORT_THREAD_COUNT, threadCount);
       initializeSuffixes();
       setupIndexesForImport();
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeBufferImporter.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeBufferImporter.java
index 452cf85..c42a279 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeBufferImporter.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeBufferImporter.java
@@ -754,7 +754,7 @@
         throw new InitializationException(ERR_IMPORT_LDIF_READER_IO_ERROR.get(), ioe);
       }
 
-      logger.info(NOTE_IMPORT_STARTING, DirectoryServer.getVersionString(), BUILD_ID, REVISION_NUMBER);
+      logger.info(NOTE_IMPORT_STARTING, DirectoryServer.getVersionString(), BUILD_ID, REVISION);
       logger.info(NOTE_IMPORT_THREAD_COUNT, threadCount);
 
       final Storage storage = rootContainer.getStorage();
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeStorageImporter.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeStorageImporter.java
index 78d7286..92f8ff2 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeStorageImporter.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/OnDiskMergeStorageImporter.java
@@ -1459,7 +1459,7 @@
         throw new InitializationException(ERR_IMPORT_LDIF_READER_IO_ERROR.get(), ioe);
       }
 
-      logger.info(NOTE_IMPORT_STARTING, DirectoryServer.getVersionString(), BUILD_ID, REVISION_NUMBER);
+      logger.info(NOTE_IMPORT_STARTING, DirectoryServer.getVersionString(), BUILD_ID, REVISION);
       logger.info(NOTE_IMPORT_THREAD_COUNT, threadCount);
 
       final Storage backendStorage = rootContainer.getStorage();
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java b/opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java
index 5223f02..416c83b 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/DirectoryServer.java
@@ -1296,7 +1296,7 @@
         throw new InitializationException(message);
       }
 
-      logger.info(NOTE_DIRECTORY_SERVER_STARTING, getVersionString(), BUILD_ID, REVISION_NUMBER);
+      logger.info(NOTE_DIRECTORY_SERVER_STARTING, getVersionString(), BUILD_ID, REVISION);
 
       // Acquire an exclusive lock for the Directory Server process.
       if (! serverLocked)
@@ -7662,7 +7662,7 @@
       System.out.println(SetupUtils.BUILD_NUMBER+separator+
                      new DecimalFormat("000").format(BUILD_NUMBER));
     }
-    System.out.println(SetupUtils.REVISION_NUMBER+separator+REVISION_NUMBER);
+    System.out.println(SetupUtils.REVISION+separator+REVISION);
     System.out.println(SetupUtils.URL_REPOSITORY+separator+URL_REPOSITORY);
     System.out.println(SetupUtils.FIX_IDS+separator+FIX_IDS);
     System.out.println(SetupUtils.DEBUG_BUILD+separator+DEBUG_BUILD);
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/monitors/VersionMonitorProvider.java b/opendj-server-legacy/src/main/java/org/opends/server/monitors/VersionMonitorProvider.java
index a2f3f9b..ad2d129 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/monitors/VersionMonitorProvider.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/monitors/VersionMonitorProvider.java
@@ -196,8 +196,7 @@
       attrs.add(createAttribute(ATTR_FIX_IDS, fixIDs));
     }
 
-    attrs.add(createAttribute(ATTR_REVISION_NUMBER,
-                   String.valueOf(DynamicConstants.REVISION_NUMBER)));
+    attrs.add(createAttribute(ATTR_REVISION_NUMBER, String.valueOf(DynamicConstants.REVISION)));
     attrs.add(createAttribute(ATTR_BUILD_ID, DynamicConstants.BUILD_ID));
     attrs.add(createAttribute(ATTR_COMPACT_VERSION,
                               DynamicConstants.COMPACT_VERSION_STRING));
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java
index f6c840d..733f507 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/Upgrade.java
@@ -87,7 +87,7 @@
   static
   {
     // @formatter:off
-    register("2.5.0.6869",
+    register("2.5.0",
         modifyConfigEntry(INFO_UPGRADE_TASK_6869_SUMMARY.get(),
         "(objectClass=ds-cfg-collation-matching-rule)",
         "add: ds-cfg-collation",
@@ -98,7 +98,7 @@
         "ds-cfg-collation: de:1.3.6.1.4.1.142.2.27.9.4.28.1",
         "ds-cfg-collation: de-DE:1.3.6.1.4.1.142.2.27.9.4.28.1"));
 
-    register("2.5.0.7192",
+    register("2.5.0",
         modifyConfigEntry(INFO_UPGRADE_TASK_7192_SUMMARY.get(),
         "(objectClass=ds-cfg-password-policy)",
         "add: objectClass",
@@ -107,7 +107,7 @@
         "add: ds-cfg-java-class",
         "ds-cfg-java-class: org.opends.server.core.PasswordPolicyFactory"));
 
-    register("2.5.0.7364",
+    register("2.5.0",
         modifyConfigEntry(INFO_UPGRADE_TASK_7364_SUMMARY.get(),
         "(ds-cfg-java-class=org.opends.server.loggers.TextAuditLogPublisher)",
         "add: objectClass",
@@ -116,10 +116,10 @@
         "delete: objectClass",
         "objectClass: ds-cfg-file-based-access-log-publisher"));
 
-    register("2.5.0.7466",
+    register("2.5.0",
         renameSnmpSecurityConfig(INFO_UPGRADE_TASK_7466_SUMMARY.get()));
 
-    register("2.5.0.7748",
+    register("2.5.0",
         newAttributeTypes(INFO_UPGRADE_TASK_7748_1_SUMMARY.get(),
         "00-core.ldif", "1.3.6.1.4.1.36733.2.1.1.59"), //etag
         addConfigEntry(INFO_UPGRADE_TASK_7748_2_SUMMARY.get(),
@@ -137,7 +137,7 @@
         "ds-cfg-checksum-algorithm: adler-32",
         "ds-cfg-excluded-attribute: ds-sync-hist"));
 
-    register("2.5.0.7834",
+    register("2.5.0",
         addConfigEntry(INFO_UPGRADE_TASK_7834_SUMMARY.get(),
         "dn: cn=Password Expiration Time,cn=Virtual Attributes,cn=config",
         "changetype: add",
@@ -151,7 +151,7 @@
         "ds-cfg-attribute-type: ds-pwp-password-expiration-time",
         "ds-cfg-conflict-behavior: virtual-overrides-real"));
 
-    register("2.5.0.7979",
+    register("2.5.0",
         modifyConfigEntry(INFO_UPGRADE_TASK_7979_SUMMARY.get(),
         "(ds-cfg-java-class=org.opends.server.schema.CertificateSyntax)",
         "add: objectClass",
@@ -160,7 +160,7 @@
         "add: ds-cfg-strict-format",
         "ds-cfg-strict-format: false"));
 
-    register("2.5.0.8124",
+    register("2.5.0",
         modifyConfigEntry(INFO_UPGRADE_TASK_8124_SUMMARY.get(),
         "(ds-cfg-java-class=org.opends.server.schema.JPEGSyntax)",
         "add: objectClass",
@@ -169,7 +169,7 @@
         "add: ds-cfg-strict-format",
         "ds-cfg-strict-format: false"));
 
-    register("2.5.0.8133",
+    register("2.5.0",
         modifyConfigEntry(INFO_UPGRADE_TASK_8133_SUMMARY.get(),
         "(ds-cfg-java-class=org.opends.server.schema.CountryStringSyntax)",
         "add: objectClass",
@@ -178,7 +178,7 @@
         "add: ds-cfg-strict-format",
         "ds-cfg-strict-format: false"));
 
-    register("2.5.0.8214",
+    register("2.5.0",
         requireConfirmation(INFO_UPGRADE_TASK_8214_DESCRIPTION.get(),
             modifyConfigEntry(INFO_UPGRADE_TASK_8214_SUMMARY.get(),
                 "(ds-cfg-java-class=org.opends.server.extensions.IsMemberOfVirtualAttributeProvider)",
@@ -189,19 +189,19 @@
                 "delete: ds-cfg-filter",
                 "ds-cfg-filter: (objectClass=person)")));
 
-    register("2.5.0.8387",
+    register("2.5.0",
         modifyConfigEntry(INFO_UPGRADE_TASK_8387_SUMMARY.get(),
         "(objectClass=ds-cfg-dictionary-password-validator)",
         "add: ds-cfg-check-substrings",
         "ds-cfg-check-substrings: false"));
 
-    register("2.5.0.8389",
+    register("2.5.0",
         modifyConfigEntry(INFO_UPGRADE_TASK_8389_SUMMARY.get(),
         "(objectClass=ds-cfg-attribute-value-password-validator)",
         "add: ds-cfg-check-substrings",
         "ds-cfg-check-substrings: false"));
 
-    register("2.5.0.8487",
+    register("2.5.0",
         addConfigEntry(INFO_UPGRADE_TASK_8487_SUMMARY.get(),
         "dn: cn=PBKDF2,cn=Password Storage Schemes,cn=config",
         "changetype: add",
@@ -213,7 +213,7 @@
             + "PBKDF2PasswordStorageScheme",
         "ds-cfg-enabled: true"));
 
-    register("2.5.0.8613",
+    register("2.5.0",
         addConfigFile("http-config.json"),
         addConfigEntry(INFO_UPGRADE_TASK_8613_SUMMARY.get(),
         "dn: cn=HTTP Connection Handler,cn=Connection Handlers,cn=config",
@@ -241,7 +241,7 @@
         "ds-cfg-use-ssl: false",
         "ds-cfg-enabled: false"));
 
-    register("2.5.0.8832", addConfigEntry(INFO_UPGRADE_TASK_8832_SUMMARY.get(),
+    register("2.5.0", addConfigEntry(INFO_UPGRADE_TASK_8832_SUMMARY.get(),
         "dn: cn=File-Based HTTP Access Logger,cn=Loggers,cn=config",
         "changetype: add",
         "objectClass: ds-cfg-file-based-http-access-log-publisher",
@@ -263,7 +263,7 @@
         "ds-cfg-log-file-permissions: 640",
         "ds-cfg-enabled: false"));
 
-    register("2.5.0.8985",
+    register("2.5.0",
         newAttributeTypes(INFO_UPGRADE_TASK_8985_1_SUMMARY.get(),
         "00-core.ldif", "1.2.840.113549.1.9.1"), // emailAddress
         modifyConfigEntry(INFO_UPGRADE_TASK_8985_2_SUMMARY.get(),
@@ -277,13 +277,13 @@
         "ds-cfg-subject-attribute-mapping: emailAddress:mail"));
 
     /** See OPENDJ-992 */
-    register("2.5.0.9013",
+    register("2.5.0",
         regressionInVersion("2.5.0.7640",
             rebuildSingleIndex(INFO_UPGRADE_TASK_9013_DESCRIPTION.get(),
                 "ds-sync-hist")));
 
     /** See OPENDJ-1284 */
-    register("2.7.0.10133", // userCertificate OID / cACertificate OID
+    register("2.7.0", // userCertificate OID / cACertificate OID
         newAttributeTypes(INFO_UPGRADE_TASK_10133_1_SUMMARY.get(),
         "00-core.ldif", "2.5.4.36", "2.5.4.37"),
         addConfigEntry(INFO_UPGRADE_TASK_10133_2_SUMMARY.get(),
@@ -299,10 +299,10 @@
 
 
     /** See OPENDJ-1295 */
-    register("2.7.0.10215",
+    register("2.7.0",
         copySchemaFile("03-pwpolicyextension.ldif"));
 
-    register("2.8.0.10214",
+    register("2.8.0",
         modifyConfigEntry(INFO_UPGRADE_TASK_10214_SUMMARY.get(),
           "(ds-cfg-java-class=org.opends.server.loggers.debug.TextDebugLogPublisher)",
           "delete:ds-cfg-java-class",
@@ -310,12 +310,12 @@
           "add:ds-cfg-java-class",
           "ds-cfg-java-class: org.opends.server.loggers.TextDebugLogPublisher"));
 
-    register("2.8.0.10232",
+    register("2.8.0",
         modifyConfigEntry(INFO_UPGRADE_TASK_10232_SUMMARY.get(),
           "(objectclass=ds-cfg-file-based-debug-log-publisher)",
           "delete:ds-cfg-default-debug-level"));
 
-    register("2.8.0.10329",
+    register("2.8.0",
         modifyConfigEntry(INFO_UPGRADE_TASK_10329_SUMMARY.get(),
             "&(objectclass=ds-cfg-file-based-error-log-publisher)(cn=File-Based Error Logger)",
             "delete:ds-cfg-default-severity",
@@ -328,7 +328,7 @@
             "ds-cfg-default-severity: warning"
             ));
 
-    register("2.8.0.10339",
+    register("2.8.0",
         modifyConfigEntry(INFO_UPGRADE_TASK_10339_SUMMARY.get(),
             "&(objectclass=ds-cfg-file-based-error-log-publisher)(cn=Replication Repair Logger)",
             "delete:ds-cfg-override-severity",
@@ -337,7 +337,7 @@
              "ds-cfg-override-severity: SYNC=INFO,ERROR,WARNING,NOTICE"));
 
     /** See OPENDJ-1490 and OPENDJ-1454 */
-    register("2.7.0.10703",
+    register("2.7.0",
         deleteConfigEntry(INFO_UPGRADE_TASK_10733_1_SUMMARY.get(),
         "dn: ds-cfg-backend-id=replicationChanges,cn=Backends,cn=config"),
         modifyConfigEntry(INFO_UPGRADE_TASK_10733_2_SUMMARY.get(),
@@ -350,14 +350,14 @@
             + "deny (all) userdn=\"ldap:///anyone\";)"));
 
     /** See OPENDJ-1351 */
-    register("2.7.0.10820",
+    register("2.7.0",
         modifyConfigEntry(INFO_UPGRADE_TASK_10820_SUMMARY.get(),
         "(objectClass=ds-cfg-root-dn)",
         "add: ds-cfg-default-root-privilege-name",
         "ds-cfg-default-root-privilege-name: changelog-read"));
 
     /** See OPENDJ-1580 */
-    register("2.7.0.10908",
+    register("2.7.0",
         addConfigEntry(INFO_UPGRADE_TASK_10908_SUMMARY.get(),
             "dn: cn=PKCS5S2,cn=Password Storage Schemes,cn=config",
             "changetype: add",
@@ -369,42 +369,42 @@
             "ds-cfg-enabled: true"));
 
     /** See OPENDJ-1545 */
-    register("2.8.0.11237",
+    register("2.8.0",
         deleteConfigEntry(INFO_UPGRADE_TASK_11237_1_SUMMARY.get(),
             "dn: cn=Network Groups,cn=config"),
         deleteConfigEntry(INFO_UPGRADE_TASK_11237_2_SUMMARY.get(),
             "dn: cn=Workflows,cn=config"),
         deleteConfigEntry(INFO_UPGRADE_TASK_11237_3_SUMMARY.get(),
             "dn: cn=Workflow Elements,cn=config"));
-    register("2.8.0.11239",
+    register("2.8.0",
         deleteConfigEntry(INFO_UPGRADE_TASK_11239_SUMMARY.get(),
             "dn: cn=Network Group,cn=Plugins,cn=config"));
-    register("2.8.0.11339",
+    register("2.8.0",
         deleteConfigEntry(INFO_UPGRADE_TASK_11339_SUMMARY.get(),
             "dn: cn=Extensions,cn=config"));
 
     /** See OPENDJ-1637 */
-    register("2.8.0.11260",
+    register("2.8.0",
         rebuildAllIndexes(INFO_UPGRADE_TASK_11260_SUMMARY.get()));
 
     /** See OPENDJ-1701 */
-    register("2.8.0.11476",
+    register("2.8.0",
         deleteConfigEntry(INFO_UPGRADE_TASK_11476_SUMMARY.get(),
             "dn: cn=File System,cn=Entry Caches,cn=config"));
 
     /** See OPENDJ-1869 */
-    register("2.8.0.12226",
+    register("2.8.0",
         modifyConfigEntry(INFO_UPGRADE_TASK_12226_SUMMARY.get(),
             "(objectclass=ds-cfg-root-config)",
             "delete: ds-cfg-entry-cache-preload"));
 
     /** See OPENDJ-2054 */
-    register("2.8.0.12451",
+    register("2.8.0",
         deleteFile(new File(binDirectory, "dsframework")),
         deleteFile(new File(batDirectory, "dsframework.bat")));
 
     /** See OPENDJ-1322 and OPENDJ-1067 */
-    register("2.7.0.9206",
+    register("2.7.0",
         rerunJavaPropertiesTool(INFO_UPGRADE_TASK_9206_SUMMARY.get()));
 
     /*
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeTasks.java b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeTasks.java
index dceb4e6..da789a5 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeTasks.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/tools/upgrade/UpgradeTasks.java
@@ -705,7 +705,7 @@
 
         try
         {
-          String toRevision = String.valueOf(context.getToVersion().getRevisionNumber());
+          String toRevision = String.valueOf(context.getToVersion().getRevision());
           updateConfigUpgradeSchemaFile(configSchemaDirectory, toRevision);
 
           context.notifyProgress(pnc.setProgress(100));
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/util/BuildVersion.java b/opendj-server-legacy/src/main/java/org/opends/server/util/BuildVersion.java
index b83b7b6..1db9c34 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/util/BuildVersion.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/util/BuildVersion.java
@@ -53,10 +53,10 @@
   private final int major;
   private final int minor;
   private final int point;
-  private final long rev;
+  private final String rev;
   private static final BuildVersion BINARY_VERSION = new BuildVersion(
       DynamicConstants.MAJOR_VERSION, DynamicConstants.MINOR_VERSION,
-      DynamicConstants.POINT_VERSION, DynamicConstants.REVISION_NUMBER);
+      DynamicConstants.POINT_VERSION, DynamicConstants.REVISION);
 
   /**
    * Returns the build version as specified by the dynamic constants.
@@ -121,7 +121,7 @@
    * form:
    *
    * <pre>
-   * major.minor.point.rev
+   * major.minor.point[.rev]
    * </pre>
    *
    * @param s
@@ -133,15 +133,38 @@
   public static BuildVersion valueOf(final String s) throws IllegalArgumentException
   {
     final String[] fields = s.split("\\.");
-    if (fields.length != 4)
+    final int nbFields = fields.length;
+    if (!(nbFields == 3 || nbFields == 4))
     {
       throw new IllegalArgumentException("Invalid version string " + s);
     }
     final int major = Integer.parseInt(fields[0]);
     final int minor = Integer.parseInt(fields[1]);
     final int point = Integer.parseInt(fields[2]);
-    final long rev = Long.parseLong(fields[3]);
-    return new BuildVersion(major, minor, point, rev);
+
+    if (nbFields == 4)
+    {
+      return new BuildVersion(major, minor, point, fields[3]);
+    }
+    else
+    {
+      return new BuildVersion(major, minor, point);
+    }
+  }
+
+  /**
+   * Creates a new build version using the provided version information.
+   *
+   * @param major
+   *          Major release version number.
+   * @param minor
+   *          Minor release version number.
+   * @param point
+   *          Point release version number.
+   */
+  public BuildVersion(final int major, final int minor, final int point)
+  {
+    this(major, minor, point, "");
   }
 
   /**
@@ -154,9 +177,9 @@
    * @param point
    *          Point release version number.
    * @param rev
-   *          VCS revision number.
+   *          VCS revision.
    */
-  public BuildVersion(final int major, final int minor, final int point, final long rev)
+  public BuildVersion(final int major, final int minor, final int point, final String rev)
   {
     this.major = major;
     this.minor = minor;
@@ -177,7 +200,7 @@
           {
             return 0;
           }
-          else if (rev < version.rev)
+          else if (rev.compareTo(version.rev) < 0)
           {
             return -1;
           }
@@ -209,7 +232,7 @@
     else if (obj instanceof BuildVersion)
     {
       final BuildVersion other = (BuildVersion) obj;
-      return major == other.major && minor == other.minor && point == other.point && rev == other.rev;
+      return major == other.major && minor == other.minor && point == other.point && rev.equals(other.rev);
     }
     else
     {
@@ -248,11 +271,11 @@
   }
 
   /**
-   * Returns the VCS revision number.
+   * Returns the VCS revision.
    *
-   * @return The VCS revision number.
+   * @return The VCS revision.
    */
-  public long getRevisionNumber()
+  public String getRevision()
   {
     return rev;
   }
@@ -260,7 +283,7 @@
   @Override
   public int hashCode()
   {
-    return Arrays.hashCode(new int[] { major, minor, point, (int) (rev >>> 32), (int) (rev & 0xFFFFL) });
+    return Arrays.hashCode(new int[] { major, minor, point, rev.hashCode() });
   }
 
   @Override
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/util/SetupUtils.java b/opendj-server-legacy/src/main/java/org/opends/server/util/SetupUtils.java
index ae51ae2..3f5bacb 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/util/SetupUtils.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/util/SetupUtils.java
@@ -111,9 +111,9 @@
   public static final String MINOR_VERSION = "Minor Version";
   /** Point version of the product. */
   public static final String POINT_VERSION = "Point Version";
-  /** Revision number in SVN. */
-  public static final String REVISION_NUMBER = "Revision Number";
-  /** The SVN url repository. */
+  /** Revision in VCS. */
+  public static final String REVISION = "Revision Number";
+  /** The VCS url repository. */
   public static final String URL_REPOSITORY = "URL Repository";
   /** The version qualifier. */
   public static final String VERSION_QUALIFIER = "Version Qualifier";
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/util/VersionCompatibilityIssue.java b/opendj-server-legacy/src/main/java/org/opends/server/util/VersionCompatibilityIssue.java
index ecf49ee..34f4065 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/util/VersionCompatibilityIssue.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/util/VersionCompatibilityIssue.java
@@ -489,20 +489,16 @@
 
   static
   {
-    register(Cause.DS_SYNC_HIST_NORMALIZATION_CHANGE_1, new BuildVersion(2, 4,
-        5, 7635));
-    register (Cause.REVERT_NOT_SUPPORTED_1, new BuildVersion(2,0,0,5278));
-    register(Cause.STRINGPREP_NORMALIZATION_CHANGE_1,
-            new BuildVersion(1,2,0,5134));
-    register(Cause.DN_NORMALIZATION_CHANGE_1, new BuildVersion(1, 0, 0, 3873));
-    register(Cause.BACKEND_CONFIGURATION_CHANGE_1,
-        new BuildVersion(1, 0, 0, 3708));
-    register(Cause.REPLICATION_SECURITY_CHANGE_1,
-        new BuildVersion(1, 0, 0, 3294));
-    register(Cause.PROPERTY_CHANGE_1, new BuildVersion(1, 0, 0, 3053));
-    register(Cause.DB_FORMAT_CHANGE_2, new BuildVersion(0, 9, 0, 2049));
-    register(Cause.DB_FORMAT_CHANGE_1, new BuildVersion(0, 1, 0, 1582));
-    register(Cause.BERKLEY_UPGRADE_1, new BuildVersion(0, 1, 0, 890));
+    register(Cause.DS_SYNC_HIST_NORMALIZATION_CHANGE_1, new BuildVersion(2, 4, 5));
+    register(Cause.REVERT_NOT_SUPPORTED_1, new BuildVersion(2, 0, 0));
+    register(Cause.STRINGPREP_NORMALIZATION_CHANGE_1, new BuildVersion(1, 2, 0));
+    register(Cause.DN_NORMALIZATION_CHANGE_1, new BuildVersion(1, 0, 0));
+    register(Cause.BACKEND_CONFIGURATION_CHANGE_1, new BuildVersion(1, 0, 0));
+    register(Cause.REPLICATION_SECURITY_CHANGE_1, new BuildVersion(1, 0, 0));
+    register(Cause.PROPERTY_CHANGE_1, new BuildVersion(1, 0, 0));
+    register(Cause.DB_FORMAT_CHANGE_2, new BuildVersion(0, 9, 0));
+    register(Cause.DB_FORMAT_CHANGE_1, new BuildVersion(0, 1, 0));
+    register(Cause.BERKLEY_UPGRADE_1, new BuildVersion(0, 1, 0));
   }
 
   private static void register(Cause cause,
@@ -547,8 +543,7 @@
     for (VersionCompatibilityIssue evt : VERSION_COMPATIBILITY_ISSUES) {
       if (!excludeIds.contains(evt.getCause().getId())) {
         BuildVersion currentVersion = new BuildVersion(
-            current.getMajorVersion(), current.getMinorVersion(),
-            current.getPointVersion(), current.getRevisionNumber());
+            current.getMajorVersion(), current.getMinorVersion(), current.getPointVersion());
         // If the currentVersion is newer than the issue described, then there
         // is no problem.  This can occur for instance when we discovered a
         // flag day too late (and we added the flag day description to the
diff --git a/opendj-server-legacy/src/main/resources/java-stubs/org/opends/server/util/DynamicConstants.java b/opendj-server-legacy/src/main/resources/java-stubs/org/opends/server/util/DynamicConstants.java
index b933823..91b40d7 100644
--- a/opendj-server-legacy/src/main/resources/java-stubs/org/opends/server/util/DynamicConstants.java
+++ b/opendj-server-legacy/src/main/resources/java-stubs/org/opends/server/util/DynamicConstants.java
@@ -121,15 +121,14 @@
    */
   public static boolean DEBUG_BUILD = ${isDebugBuild};
 
-  /**
-   * The Subversion revision number on which this build is based.
-   */
-  public static long REVISION_NUMBER = ${buildRevision};
+  /** The revision on which this build is based. */
+  public static String REVISION = "${buildRevision}";
 
   /**
    * The Subversion url repository location on which this build is based.
    */
-  public static String URL_REPOSITORY = "${scm.url}";
+  public static String URL_REPOSITORY =
+      "${scm.url}";
 
   /**
    * The documentation home.
@@ -240,7 +239,7 @@
         }
         catch (Exception ex) {}
         try{
-         REVISION_NUMBER = (Long)c.getField("REVISION_NUMBER").get(obj);
+         REVISION = (String)c.getField("REVISION_NUMBER").get(obj);
         }
         catch (Exception ex) {}
         try{
diff --git a/opendj-server-legacy/src/messages/org/opends/messages/backend.properties b/opendj-server-legacy/src/messages/org/opends/messages/backend.properties
index ef62f7c..5069e1c 100644
--- a/opendj-server-legacy/src/messages/org/opends/messages/backend.properties
+++ b/opendj-server-legacy/src/messages/org/opends/messages/backend.properties
@@ -1240,7 +1240,7 @@
 processing completed in %d seconds, phase two processing completed in %d seconds
 NOTE_IMPORT_PROGRESS_REPORT_532=Processed %d entries, skipped %d \
  and rejected %d (recent rate %.1f/sec)
-NOTE_IMPORT_STARTING_533=%s starting import (build %s, R%d)
+NOTE_IMPORT_STARTING_533=%s starting import (build %s, R%s)
 NOTE_IMPORT_THREAD_COUNT_534=Import Thread Count: %d threads
 NOTE_INDEX_ADD_REQUIRES_REBUILD_535=Due to changes in the \
  configuration, index %s is currently operating in a degraded state and must \
diff --git a/opendj-server-legacy/src/messages/org/opends/messages/core.properties b/opendj-server-legacy/src/messages/org/opends/messages/core.properties
index eb040a0..27b3a31 100644
--- a/opendj-server-legacy/src/messages/org/opends/messages/core.properties
+++ b/opendj-server-legacy/src/messages/org/opends/messages/core.properties
@@ -164,7 +164,7 @@
  bootstrap the attribute syntax defined in class %s: %s
 INFO_DIRECTORY_BOOTSTRAPPING_132=The Directory Server is beginning the \
  configuration bootstrapping process
-NOTE_DIRECTORY_SERVER_STARTING_134=%s (build %s, R%d) starting up
+NOTE_DIRECTORY_SERVER_STARTING_134=%s (build %s, R%s) starting up
 NOTE_DIRECTORY_SERVER_STARTED_135=The Directory Server has started \
  successfully
 ERR_CANNOT_CREATE_MBEAN_SERVER_138=An error occurred while attempting \
diff --git a/opendj-server-legacy/src/test/java/org/opends/quicksetup/InstallationTest.java b/opendj-server-legacy/src/test/java/org/opends/quicksetup/InstallationTest.java
index 3950c09..31f8972 100644
--- a/opendj-server-legacy/src/test/java/org/opends/quicksetup/InstallationTest.java
+++ b/opendj-server-legacy/src/test/java/org/opends/quicksetup/InstallationTest.java
@@ -22,6 +22,7 @@
  *
  *
  *      Copyright 2008 Sun Microsystems, Inc.
+ *      Portions Copyright 2015 Forgerock AS
  */
 
 package org.opends.quicksetup;
@@ -162,7 +163,7 @@
    */
   @Test(enabled = false)
   public void testGetSvnRev() throws ApplicationException {
-    assertNotNull(installation.getSvnRev());
+    assertNotNull(installation.getVCSRevision());
   }
 
   /**
diff --git a/pom.xml b/pom.xml
index ea5c7be..d73589f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
   <parent>
     <groupId>org.forgerock</groupId>
     <artifactId>forgerock-parent</artifactId>
-    <version>2.0.0</version>
+    <version>2.0.3</version>
   </parent>
   <groupId>org.forgerock.opendj</groupId>
   <artifactId>opendj-project</artifactId>
@@ -64,9 +64,9 @@
     </mailingList>
   </mailingLists>
   <scm>
-    <url>https://svn.forgerock.org/opendj/trunk/opendj/</url>
-    <connection>scm:svn:https://svn.forgerock.org/opendj/trunk/opendj/</connection>
-    <developerConnection>scm:svn:https://svn.forgerock.org/opendj/trunk/opendj/</developerConnection>
+    <url>https://stash.forgerock.org/projects/OPENDJ/repos/opendj/browse</url>
+    <connection>scm:git:ssh://git@stash.forgerock.org:7999/opendj/opendj.git</connection>
+    <developerConnection>scm:git:ssh://git@stash.forgerock.org:7999/opendj/opendj.git</developerConnection>
   </scm>
   <ciManagement>
     <system>jenkins</system>

--
Gitblit v1.10.0