diff --git a/config/alfresco/model/contentModel.xml b/config/alfresco/model/contentModel.xml
index 58bfd9768f..a4ba842360 100644
--- a/config/alfresco/model/contentModel.xml
+++ b/config/alfresco/model/contentModel.xml
@@ -542,6 +542,11 @@
d:text
true
+
+ Initial Version
+ d:boolean
+ true
+
Auto Version
d:boolean
diff --git a/source/java/org/alfresco/model/ContentModel.java b/source/java/org/alfresco/model/ContentModel.java
index ba004acf68..c5855c46ac 100644
--- a/source/java/org/alfresco/model/ContentModel.java
+++ b/source/java/org/alfresco/model/ContentModel.java
@@ -106,6 +106,7 @@ public interface ContentModel
// version aspect
static final QName ASPECT_VERSIONABLE = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "versionable");
static final QName PROP_VERSION_LABEL = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "versionLabel");
+ static final QName PROP_INITIAL_VERSION = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "initialVersion");
static final QName PROP_AUTO_VERSION = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "autoVersion");
// folders
diff --git a/source/java/org/alfresco/repo/version/VersionServiceImplTest.java b/source/java/org/alfresco/repo/version/VersionServiceImplTest.java
index b203751fa5..1f78d2876f 100644
--- a/source/java/org/alfresco/repo/version/VersionServiceImplTest.java
+++ b/source/java/org/alfresco/repo/version/VersionServiceImplTest.java
@@ -16,7 +16,9 @@
*/
package org.alfresco.repo.version;
+import java.io.Serializable;
import java.util.Collection;
+import java.util.HashMap;
import java.util.Set;
import org.alfresco.model.ContentModel;
@@ -435,19 +437,70 @@ public class VersionServiceImplTest extends BaseVersionStoreTest
}
- public void testAutoVersion()
+ public void testAutoVersionOnInitialVersionOn()
{
// Create a versionable node
final NodeRef versionableNode = createNewVersionableNode();
-
- // Add some content
- ContentWriter contentWriter = this.contentService.getWriter(versionableNode, ContentModel.PROP_CONTENT, true);
- assertNotNull(contentWriter);
- contentWriter.putContent(UPDATED_CONTENT_1);
- // Need to commit in order to get the auto version to fire ...
setComplete();
endTransaction();
+
+ TransactionUtil.executeInUserTransaction(this.transactionService, new TransactionUtil.TransactionWork