gemini-hlsw/ocs — pull request #67 by swalker2m (2014-10-29 13:05:27+00:00)
Title: REL-2070: edits to `iTarget` fields don't trigger version updates

The referenced bug only appears in development and testing releases, not in production. Nevertheless it is unclear to me how it ever worked which is very worrisome. The underlying problem is that a clone of an `SPTarget` does not also clone its inner `ITarget` reference which means that the two post-clone `SPTarget`s continue to share the same coordinate information and changing one `SPTarget` impacts the other. Then if a cloned "data object" containing an `SPTarget` is modified only in coordinate fields, the data object from which it was cloned is modified at the same time. That in turn causes the software to believe that the data object hasn't really been updated and no version change is triggered. When there is no difference in version information, a sync skips updates to that node and we get the bug in REL-2070.

I was hesitant to fix this problem when I encountered the same issue in `TemplateParameter`s but now that it has come up again I think we should just attack the root cause and see what happens during the testing period. If anybody has any idea why this never mattered before, I'd love to hear it.