diff options
author | Eike Stepper | 2013-02-21 07:57:11 +0000 |
---|---|---|
committer | Eike Stepper | 2013-02-21 07:57:11 +0000 |
commit | ccc143cdbf937af334cb50a69582bb3f8899758e (patch) | |
tree | 978fb585501a9a86d4e98e03030bea7b3536eacc /plugins/org.eclipse.emf.cdo.workspace/src/org/eclipse/emf/cdo/internal/workspace/CDOWorkspaceImpl.java | |
parent | cf49b7c79567c2428ecfca6d42867eda592cefca (diff) | |
download | cdo-ccc143cdbf937af334cb50a69582bb3f8899758e.tar.gz cdo-ccc143cdbf937af334cb50a69582bb3f8899758e.tar.xz cdo-ccc143cdbf937af334cb50a69582bb3f8899758e.zip |
[400892] Intern all CDOIDs
https://bugs.eclipse.org/bugs/show_bug.cgi?id=400892
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.workspace/src/org/eclipse/emf/cdo/internal/workspace/CDOWorkspaceImpl.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.workspace/src/org/eclipse/emf/cdo/internal/workspace/CDOWorkspaceImpl.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.workspace/src/org/eclipse/emf/cdo/internal/workspace/CDOWorkspaceImpl.java b/plugins/org.eclipse.emf.cdo.workspace/src/org/eclipse/emf/cdo/internal/workspace/CDOWorkspaceImpl.java index 8c4b34780e..a39247c3ec 100644 --- a/plugins/org.eclipse.emf.cdo.workspace/src/org/eclipse/emf/cdo/internal/workspace/CDOWorkspaceImpl.java +++ b/plugins/org.eclipse.emf.cdo.workspace/src/org/eclipse/emf/cdo/internal/workspace/CDOWorkspaceImpl.java @@ -204,6 +204,7 @@ public class CDOWorkspaceImpl extends Notifier implements InternalCDOWorkspace public boolean handleRevision(CDORevision revision) { InternalCDORevision rev = (InternalCDORevision)revision; + adjustRevisionBranch(rev); accessor.rawStore(rev, monitor); long commitTime = revision.getTimeStamp(); @@ -617,6 +618,7 @@ public class CDOWorkspaceImpl extends Notifier implements InternalCDOWorkspace accessor.rawDelete(id, localRevision.getVersion(), localBranch, eClass, new Monitor()); localRevision.setVersion(remoteRevision.getVersion()); + adjustRevisionBranch(localRevision); accessor.rawStore(localRevision, new Monitor()); } } @@ -630,6 +632,17 @@ public class CDOWorkspaceImpl extends Notifier implements InternalCDOWorkspace } } + private void adjustRevisionBranch(InternalCDORevision revision) + { + InternalCDOBranchManager branchManager = localRepository.getBranchManager(); + InternalCDOBranch branch = revision.getBranch(); + if (branch.getBranchManager() != branchManager) + { + branch = branchManager.getBranch(branch.getID()); + revision.setBranchPoint(branch.getPoint(revision.getTimeStamp())); + } + } + /** * @deprecated Attaching new objects is only supported for IDGenerationLocation.CLIENT */ |