2011-11-03 4 views
0

Je travaille sur un projet (projet d'école d'études supérieures) où je dois écrire un module de «révision de code» dans une application rails. Je suis en train d'essayer de recréer une version réduite de certains outils populaires de révision de code comme ReviewBoard etc.Outil de comparaison de code source ouvert (de préférence écrit en Ruby)

La majeure partie du module va être écrite à partir de zéro, à l'exception de la partie qui génère le code diff (entre différentes versions du même code lors des itérations de révision de code). J'ai donc besoin du code source (ou même des APIs) d'un outil qui prend en entrée deux fichiers (programmes) et me donne une forme de sortie significative (json, xml) pour que je puisse interpréter cela et l'afficher dans le typique vue côte-à-côte (avec la possibilité de faire des annotations, etc.) qui est vu dans de nombreux outils de révision de code là-bas. Maintenant, je suis prêt/prêt à écrire la plupart du code pour afficher les choses et faire des annotations AJAX'y etc. mais je ne peux pas écrire la logique pour faire le diff: c'est vraiment hors de portée. Donc, pour résumer, tout ce que je recherche, c'est un outil (même des API Web) que je peux appeler en fournissant deux fichiers d'entrée et obtenir une sortie décente qui peut être interprétée (de toute façon) et alimentée en vue personnalisée (écrit par moi) qui va afficher les résultats de la diff côte à côte, etc

Ce serait vraiment génial si cet outil devait être une autre application Ruby (rails?), de sorte que je pourrais éventuellement porter la chose entière sur mon application. Mais même si quelque chose d'autre qui fournit une sortie saine est OK, je peux trouver un moyen de l'utiliser.

Merci beaucoup pour votre aide!

PS: Beaucoup de recherche juste yeilds open source logiciel pas de code source ou d'API, d'où je demande ici. Merci encore.

+0

Le logiciel * open source * est constitué d'un code open * source *. – coreyward

+0

Ouais je sais, mais j'ai vu le code source de Reviewboard sur Git et c'est vraiment énorme. Je suppose que ma formulation était un peu éteinte. Je voulais dire que s'il y a quelque chose de spécifique comme un outil de code-diff avec des API documentées, ce serait ce que je cherche. –

Répondre

1

On dirait qu'un site appelé Codebrawl a récemment eu un concours pour écrire un programme diff basé sur Ruby.

http://codebrawl.com/contests/ruby-diffs

Le code de la première communication placé est disponible et semble assez bien documenté.

+0

Merci beaucoup! Cela aide vraiment. –

Questions connexes