| Summary: | "Attempt to modify historical revision"-Exception after raw replication. | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Modeling] EMF | Reporter: | Pascal Lehmann <pascal.lehmann> | ||||||
| Component: | cdo.core | Assignee: | Eike Stepper <stepper> | ||||||
| Status: | CLOSED FIXED | QA Contact: | Eike Stepper <stepper> | ||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | stepper | ||||||
| Version: | 4.0 | ||||||||
| Target Milestone: | --- | ||||||||
| Hardware: | All | ||||||||
| OS: | All | ||||||||
| Whiteboard: | offline-01 | ||||||||
| Attachments: |
|
||||||||
|
Description
Pascal Lehmann
Created attachment 174018 [details]
TestCase
Created attachment 174020 [details]
Idea for a patch
Here is a patch resolving the version problem, but unfortunately this patch introduces some other problems, so I'm not sure if this would be the way to go.
The patch uses the higher version in the revision delta, so when applying the delta to the local revision the version will be correct. However every piece of code trying to get the revision from revision manager (eg. for the old value etc.) will now fail because the call is done with the higher version which can not be found in the revision manager.
Pascal, please confirm that: 1) The number of lines that you changed is smaller than 250. 2) You are the only author of these changed lines. 3) You apply the EPL to these changed lines. Committed test case to HEAD 1) The number of lines that you changed is smaller than 250. confirmed. 2) You are the only author of these changed lines. confirmed. 3) You apply the EPL to these changed lines. confirmed. Comment on attachment 174020 [details]
Idea for a patch
This fix does not solve the problem that we need the target version of the aggregated deltas. Investigating further...
Fixed by adding this to CDORevisionDeltaImpl:
private CDOBranchVersion target;
Committed to HEAD
Available in R20110608-1407 |