diff --git a/config/alfresco/public-services-context.xml b/config/alfresco/public-services-context.xml
index fd6a7c9803..34949d10ca 100644
--- a/config/alfresco/public-services-context.xml
+++ b/config/alfresco/public-services-context.xml
@@ -952,11 +952,21 @@
deployDifference
- deployDifferenceFS
+
+
+
+
+
+
+ deployDifferenceFS
+
+
+
+
@@ -968,6 +978,7 @@
+ deploymentServiceWriteTxnAdvisor
deploymentServiceReadTxnAdvisor
diff --git a/source/java/org/alfresco/repo/avm/AVMStoreImpl.java b/source/java/org/alfresco/repo/avm/AVMStoreImpl.java
index 32fbea7d04..bf9367a50f 100644
--- a/source/java/org/alfresco/repo/avm/AVMStoreImpl.java
+++ b/source/java/org/alfresco/repo/avm/AVMStoreImpl.java
@@ -233,7 +233,6 @@ public class AVMStoreImpl implements AVMStore, Serializable
}
parent.putChild(parentName[1], newChild);
}
- // AVMDAOs.Instance().fVersionLayeredNodeEntryDAO.delete(lastVersion);
// Clear out the new nodes.
List newInRep = AVMDAOs.Instance().fAVMNodeDAO.getNewInStore(this);
List layeredNodes = new ArrayList();
@@ -950,7 +949,7 @@ public class AVMStoreImpl implements AVMStore, Serializable
{
return false;
}
- return fName.equals(((AVMStore)obj).getName());
+ return fID == ((AVMStore)obj).getId();
}
/**
@@ -960,7 +959,7 @@ public class AVMStoreImpl implements AVMStore, Serializable
@Override
public int hashCode()
{
- return fName.hashCode();
+ return (int)fID;
}
/**
diff --git a/source/java/org/alfresco/repo/avm/hibernate/AVM.hbm.xml b/source/java/org/alfresco/repo/avm/hibernate/AVM.hbm.xml
index c2264d6344..e0cd447e98 100644
--- a/source/java/org/alfresco/repo/avm/hibernate/AVM.hbm.xml
+++ b/source/java/org/alfresco/repo/avm/hibernate/AVM.hbm.xml
@@ -125,17 +125,19 @@
-
-
+
+
+
+
+
+
-
-
diff --git a/source/java/org/alfresco/repo/deploy/DeploymentServiceImpl.java b/source/java/org/alfresco/repo/deploy/DeploymentServiceImpl.java
index ffdb15cf55..9fe5b4c3c6 100644
--- a/source/java/org/alfresco/repo/deploy/DeploymentServiceImpl.java
+++ b/source/java/org/alfresco/repo/deploy/DeploymentServiceImpl.java
@@ -608,8 +608,13 @@ public class DeploymentServiceImpl implements DeploymentService
callback.eventOccurred(event);
}
report.add(event);
+ String storeName = srcPath.substring(0, srcPath.indexOf(':'));
+ System.out.println(storeName);
+ if (version < 0)
+ {
+ version = fAVMService.createSnapshot(storeName, null, null);
+ }
String ticket = service.begin(target, userName, password);
-
deployDirectoryPush(service, ticket, report, callback, version, srcPath, "/");
service.commit(ticket);
event = new DeploymentEvent(DeploymentEvent.Type.END,
@@ -683,8 +688,7 @@ public class DeploymentServiceImpl implements DeploymentService
}
if (diff == 0)
{
- if (src.isFile() && dst.getType() == FileType.FILE &&
- src.getGuid().equals(dst.getGUID()))
+ if (src.getGuid().equals(dst.getGUID()))
{
src = null;
dst = null;
@@ -701,6 +705,10 @@ public class DeploymentServiceImpl implements DeploymentService
// Source is a directory.
if (dst.getType() == FileType.DIR)
{
+ if (!dstPath.equals("/"))
+ {
+ service.setGuid(ticket, dstPath, src.getGuid());
+ }
deployDirectoryPush(service, ticket, report, callback, version, src.getPath(), dstPath + '/' + dst.getName());
src = null;
dst = null;