Je suis en train de développer un logiciel construit en plus d'un projet open source mais qui contient des modifications exclusives. Récemment, il y a eu une grosse mise à jour du projet open source qui a déplacé un tas de fichiers. Par exemple:Force git à reconnaître qu'un fichier a été déplacé lors de la fusion
app/modèles/my_model.rb -> app/modèles/espace de nom/my_namespaced_model.rb
Il y a beaucoup de fichiers qui ont été déplacés, et certains d'entre eux ont beaucoup de changements. Donc, git ne fusionne pas les fichiers, mais dit simplement que les anciens fichiers ont été "supprimés par eux" et marqués comme un conflit de fusion. Le fait est que, s'il y avait simplement quelques changements de moins pour que git puisse réaliser que le fichier avait été déplacé, plutôt que de penser qu'il était supprimé et qu'un nouveau a été créé, je pense qu'il réglerait facilement la plupart des changements. À l'heure actuelle, il semble que je doive passer à travers et apporter tous les anciens changements aux nouveaux fichiers à la main. Donc, ma question est, y at-il un moyen de forcer git à se rendre compte qu'un fichier a été déplacé quand il ne peut pas le comprendre automatiquement?
Je reçois ceci: "fatale: option inconnue pour fusionner-récursive: -Xrename-threshold = 70". J'ai aussi essayé d'utiliser des options telles que "ignore-space-change" parce que certains fichiers ont des changements d'indentation, mais ils ont la même erreur. J'utilise git 1.7.1 sur Ubuntu 10.10. Ai-je besoin d'une version plus récente? – alexsanford1
Typo, c'est '-X ...' (avec un espace). – torek
@torek: mise à jour. À l'avenir, n'hésitez pas à réparer les fautes de frappe vous-même. –