Estoy trabajando en un repositorio Git que se ha extraído de un repositorio SVN usando git svn
. Hace muchas lunas, el repositorio SVN se creó a partir de un tarball fuente del proyecto original (upstream). El proyecto original tenía una estructura de archivos como la siguiente:¿Cómo puedo modificar la ruta del archivo en un conjunto de parches de Git?
/
COPYING
README
src/
...many source files...
Sin embargo, cuando se creó el repositorio SVN, los archivos README, etc., fueron despojados a cabo, y la aplicación se creó con src/
como la raíz, por lo el repositorio ahora se ve así:
/
...many source files
Recientemente convertí este repositorio SVN en un repositorio Git. El proyecto original también está en un repositorio de Git, y me gustaría comenzar a rastrear los cambios preliminares para poder ver fácilmente qué cambios personalizados se han realizado (y enviar revisiones al proyecto original, si corresponde). Encontré la confirmación en el repositorio ascendente del que se creó nuestro repositorio SVN, así que ahora me gustaría aplicar nuestros cambios a esa confirmación (en una sucursal). Puedo crear fácilmente un conjunto de parches usando git format-patch
y aplicarlos al repositorio reescrito clonado ... excepto que las estructuras de archivos son diferentes, por lo que los parches ya no apuntan a los archivos correctos. ¿Hay alguna manera de aplicar los parches desde git format-patch
al directorio src/
en el repositorio clonado? (Tenga en cuenta que los parches de Git también tienen la información necesaria, como el nombre del autor original, el correo electrónico y la fecha, que también me gustaría aplicar y no tener que hacer a mano, por ejemplo, al meterme con GIT_AUTHOR_EMAIL
, etc.)
Pregunta similar: http://stackoverflow.com/questions/931882/how-to-apply-a-git-patch-from-one-repository-to-another – koppor