Sto lavorando a un repository Git che è stato estratto da un repository SVN utilizzando git svn
. Molte lune fa, il repository SVN è stato creato da un archivio sorgente del progetto originale (a monte). Il progetto originale aveva una struttura di file come il seguente:Come posso modificare il percorso del file in una serie di patch Git?
/
COPYING
README
src/
...many source files...
Tuttavia, quando il repo SVN è stato creato, i file README, ecc, sono stati spogliati, e l'applicazione è stato creato con src/
come la radice, in modo il repository ora sembra proprio:
/
...many source files
Ho recentemente convertito questo repository SVN in un repository Git. Il progetto originale è anche in un repository Git e vorrei iniziare a monitorare i cambiamenti upstream in modo da poter vedere facilmente quali modifiche personalizzate sono state apportate (e inviare patch al progetto originale, se applicabile). Ho trovato il commit nel repository upstream da cui è stato creato il repository SVN, quindi ora mi piacerebbe applicare le nostre modifiche a quel commit (in un ramo). Posso creare facilmente un set di patch usando git format-patch
e applicarli al repository upstream clonato ... tranne che le strutture dei file sono diverse, quindi le patch non puntano più ai file corretti. C'è un modo per applicare le patch da git format-patch
alla directory src/
nel repository clonato? (Si noti che le patch Git hanno anche le informazioni necessarie come il nome dell'autore originale, l'e-mail e la data, che mi piacerebbe anche applicare e non dover fare a mano, cioè, scherzando con GIT_AUTHOR_EMAIL
, ecc.)
Domanda simile: http://stackoverflow.com/questions/931882/how-to-apply-a-git-patch-from-one-repository-to-another – koppor