Aplicación de un parche git cuando las estructuras del directory del repository difieren

Me enviaron por correo electrónico un parche de git en "code1" creado con parche de formatting. El problema es que el compañero de trabajo que lo envió aparentemente tiene una estructura de directorys diferente a la que yo tengo. Mi directory se ve como

/home /mydir /project /code1 /src /obj /bin /code2 /code3 

y mi .git está sentado en / project. Aparentemente solo tiene / code1 y ahí es donde está sentado su .git. Sin embargo, su /code1 se ve exactamente como my /code1 .

Intento aplicar el parche con git am, y falla con el error

 error: src/foo.c: does not exist in index error: src/bar.c: does not exist in index Patch failed at <new commit message>. 

He intentado usar el indicador –directory, pero obtengo el mismo error, solo con los nombres de directory cambiados. ¿Hay alguna manera de hacer esto?

Por cierto, anticipo que alguien va a marcar esto como un duplicado de esta pregunta , pero la situación allí fue algo diferente y la solución dada allí no me ha ayudado. Gracias.

git am está diseñado para volver a crear la confirmación original del parche.

Para volver a crear la confirmación original (con la misma ID hash y todo), el cambio realizado en su repository debe ser bit por bit idéntico al cambio realizado en su repository. Naturalmente, esto requeriría que su repository tenga el mismo layout (y los compromisos principales que conducen a este punto) que los del parche.

Como su repository tiene una estructura diferente, no puede usar git am para aplicar el parche. En su lugar, puedes usar git apply , pero tendrás que preocuparte un poco por los nombres de ruta. Tenga en count que, al igual que la utilidad de parche estándar, la opción de -p number permite eliminar componentes de ruta, pero eso no ayudará en este caso. En este caso, deberá agregar algunos componentes de ruta, por lo que desea la opción --directory= path .