7
votes

Est-il possible de faire du diffage intelligent entre les fichiers?

Je fais des modifications qui impliquaient des méthodes de déplacement, extrayant de nouvelles méthodes et la modification de la fonctionnalité une petite quantité (pas toutes en même temps, mais dans la même révision - peut-être que c'était une mauvaise décision).

Diffusion classique semble générer des diffs qui signalent que la méthode Dofoo a été supprimée à la ligne 42 et qu'une méthode presque identique s'appelle également Dofoo a été créée à la ligne 2012. Est-il facile de demander à un programme de diffusion de comparer le Dofoo supprimé À la ligne 42 avec le dofoo créé à 2012? (De préférence un programme diff libre et disponible sur Ubuntu)


0 commentaires

3 Réponses :


1
votes

Ediff , l'outil DIFF inclus avec EMACSS, aidera Vous examinez ces régions.

Vous pouvez rencontrer des situations quand un Un gros morceau de texte dans un fichier a été édité et ensuite déplacé à un endroit différent dans un autre fichier. Dans Un tel cas, ces deux morceaux de texte sont peu susceptibles d'appartenir à la même chose région de différence, donc le raffinement la caractéristique d'Ediff ne sera pas capable de vous dire ce qui diffère exactement à l'intérieur ces morceaux. Depuis le volume de vol Des morceaux de texte sont contraires à l'homme Nature, Ediff a une commande spéciale à aider à réduire le risque de développer un Cataracte.


0 commentaires

1
votes

voir SmartDifferencer pour un outil qui comprend la syntaxe de langue et les commandes d'édition abstraite telles que "MOVE Ce bloc de code de la ligne A à la ligne B "" renommer cette variable partout dans la portée ". Actuellement disponible pour Java et Cobol, d'autres langues suivantes: bientôt.

EDIT 9/4/2009: C # ajouté ...

Editer 5/2011: Beaucoup de langues ajoutées: C ++, JavaScript, plus ... Check Site.


0 commentaires

-2
votes

http://www.research.ibm.com/visual /Projects/history_flow/gallery.htm

jamais utilisé moi-même, mais les images ont l'air cool: p


2 commentaires

Ce lien semble être invalide.


"Vous devez avoir accès au réseau interne IBM pour voir cette page"