Ich versuche mich mal wieder als Querdenker: Wenn du ein textbasiertes Format für beide Datenbestände findest (z.B.
CSV), kannst du das auch über ein standardisiertes Diff abwickeln.
Konkret würde ich das hier mit Mercurial realisieren, bei dem ich die beiden Datenbestände in verbundenen Repositories verwalte und die Änderungen vom einen jeweils in das andere merge. Was man natürlich braucht, sind geeignete Tools für den Export/Import zwischen den nativen Datenbeständen und dem Textformat. Im Falle von Mercurial könnte man die sogar in den passenden Hooks aufrufen um das weitestgehend zu automatisieren.
Das geht sicher auch mit anderen VCSs, aber mit Hg kenne ich mich halt am besten aus.