Extract the logic merge one topic's content into another into a reusable service. That logic is currently implemented twice: Once (fully-featured) in the companion Data Transfer import/export tool, and once (a stripped-down special case) in the core library's ITopicRepository.Rollback() feature.
Tasks
Extract the logic merge one topic's content into another into a reusable service. That logic is currently implemented twice: Once (fully-featured) in the companion Data Transfer import/export tool, and once (a stripped-down special case) in the core library's
ITopicRepository.Rollback()feature.Tasks
ITopicMergeServiceTopicMergeServiceMergeStrategyMergeOptionsITopicRepository.Rollback()merge logic on top of the new merge service (TopicRepository.MergeVersion())MergeVersion()can stay separateOnTopic-Data-Transferto depend on the merge serviceTopicDataRecordDataMultiMapImport()Export()