This is an interesting challenge. There are several approaches, but which to use depends a lot on the usage
patterns of the different systems.
For example, if the "legacy" repository is only needed for read access, but write access can be done through the new system, then it makes sense for writes to the new system to "write through" to the legacy system. That way the new system is the master repository, and the old one becomes a mirror which can simply be switched off when it becomes obsolete.
If the first approach is not possible, consider if it is possible to add some sort of wrapper or redirection layer around both the systems, which catches write attempts and duplicates them to both systems, but passes read attempts through directly.
If this sort of approach is not possible, then you might have to resort to two-way propagation (both systems allow writes, but have to tell the other system). This is a
much more complex and risky proposition, with all sorts of subtle failure modes. Some of these were discussed in
a recent thread on cacheing.
Can you tell us any more about the usage patterns of the systems you are working with?