Dans le passé, j'ai utilisé la fonctionnalité d'importation de GitHub pour importer un référentiel SVN. Le référentiel est maintenant le même qu'un git nu sans aucune connexion à l'historique SVN. Les validations n'incluent pas les informations svn-id
.Comment fusionner un référentiel svn avec un dépôt git cloned (importé de SVN via github)
Un certain temps s'est écoulé et des validations ont été ajoutées au référentiel SVN mais, comme prévu, le dépôt git est resté le même. Maintenant, je voudrais mettre à jour le dépôt git avec les validations qui ont été ajoutées au SVN d'origine. J'ai essayé git-svn
mais je ne pouvais pas faire git reconnaître l'histoire commune entre le svn cloné et le git cloné.
J'ai considéré l'utilisation de format-patch
et je crois que cette action devrait résoudre le problème mais je cherchais une manière plus automatisée de le faire.
La seule restriction est que l'historique git doit être maintenu (pas rebase
'ing) et que les commits sont aussi fidèles que possible au dépôt SVN (pas de svn-id
ajouté au message de validation).
Le seul problème que j'ai trouvé avec ceci est que git-am ajoute mon utilisateur en tant que "committe". ". Avez-vous une idée de comment éviter cela? J'ai vérifié la documentation de git-am mais je n'ai rien trouvé d'explicite. – Unode
Eh bien, il devrait, ne devrait-il pas? Vous étiez celui à engager dans le dépôt Git. Si vous n'aimez pas cela, vous pouvez utiliser 'git-filter-branch' pour réécrire l'historique que vous avez importé. – cdhowie