You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by tr...@apache.org on 2006/12/13 16:47:56 UTC

svn commit: r486694 - /jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/AbstractVersionManager.java

Author: tripod
Date: Wed Dec 13 07:47:55 2006
New Revision: 486694

URL: http://svn.apache.org/viewvc?view=rev&rev=486694
Log:
JCR-529: New versions added after a restore have bad version name
--Tons added after a restore have bad version namesss line, and those below, will be ignored--

M    AbstractVersionManager.java

Modified:
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/AbstractVersionManager.java

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/AbstractVersionManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/AbstractVersionManager.java?view=diff&rev=486694&r1=486693&r2=486694
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/AbstractVersionManager.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/version/AbstractVersionManager.java Wed Dec 13 07:47:55 2006
@@ -383,8 +383,13 @@
             String versionName = best.getName().getLocalName();
             int pos = versionName.lastIndexOf('.');
             if (pos > 0) {
-                versionName = versionName.substring(0, pos + 1)
+                String newVersionName = versionName.substring(0, pos + 1)
                     + (Integer.parseInt(versionName.substring(pos + 1)) + 1);
+                if (history.hasVersion(new QName("", newVersionName))) {
+                    versionName += ".1";
+            	} else {
+                    versionName = newVersionName;
+            	}
             } else {
                 versionName = String.valueOf(best.getSuccessors().length + 1) + ".0";
             }