Fusionar cambios de un repositorio a otro con diferentes estructuras de árbol

Tengo dos repositorios Git, foo / master y bar / master:

En foo:

code_root
->dirA
  ->dirB
    -> *some files*

En el bar:

code_root
  -> *same files as above*

Ahora alguien ha hecho cambios a*some files*... cómo consigo fusionar esos cambios*same files as above*?

Cuando digo "fusionado" quiero decir que también necesito el historial (mensajes de confirmación, hashes de registro, etc.) de los deltas.

Respuestas a la pregunta(3)

Su respuesta a la pregunta