Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
Quels vous semblent être les meilleurs moyens de comparer les sources de deux projets différents pour identifier les objets/codes différents ?
(en utilisant éventuellement des outils tiers, gratuits de préférences)
Hors ligne
Perso, pour la comparaison et / ou merge d'une arborescence GNU Emacs est mon outil préféré, avec la commande ediff-directories (mais si tu n'es pas déjà familier d'Emacs, passe ton chemin ça te fera 2 choses à apprendre).
Total Commander (ex Windows Commander) est très fort pour comparer / synchroniser des arborescences avec la commande Synchronize Dirs du moins pour lister les fichiers qui diffèrent en date et / ou en contenu. Il a un outil interne d'affichage des différences mais qui reste un peu... spartiate. Il peut être reconfiguré pour utiliser WinMerge à la place. Shareware peu onéreux, quand on commence à l'utiliser on ne peut plus s'en passer et on finit par l'acheter
WinMerge (open source et gratuit) pilotable au clavier, permet d'afficher les différences entre 2 fichiers (ou 2 folders) et de facilement recopier la diff vers l'un ou l'autre. Gère les fichiers compressés. Il peut générer des patches. Je viens de l'essayer sur 2 folders contenant 2 versions des sources d'une appli PB : c'est pas mal comme résultat.
Si tu utilises TortoiseSvn, TortoiseMerge est intégré à l'explorateur de fichiers, pratique pour comparer des fichiers, mais (il me semble qu') il ne gère pas les répertoires.
Dernière modification par seki (11-10-2012 09:12:00)
Hors ligne
Bonjour,
quand tu parles de projets, tu veux dire des projets Powerbuilder je suppose ? Si oui, j'utilise PBL Peeper. L'avantage est qu'il ne compare pas les exports (l'ordre des scripts peut changer d'un exports à l'autre) mais il compare bien events/fonctions par events/fonctions des objets. Toutefois, l'emploi est parfois 'capricieux' , il faut parfois quitter puis relancer , mais on arrive à de bons résultats .
Si tu as des difficultés pour te retrouver dans l'interface pour comparer 2 projets, dis-le, je peux t'aider.
Hors ligne
Oui je connaissais winmerge, bien utile pour comparer des dossiers ou des fichiers textes, mais si tu compares directement des pbl, y'aura des différences mais si le script est le même (vs binaries) ? (sans compter ce que disait geo : l'ordre des scripts peut changer d'un exports à l'autre)
J'ai PBL peeper installé depuis longue date, quand je regarde dans l'onglet compare, je n'arrive pas à sélectionner (boutons select old / select new)...
EDIT : ok pour sélectionner (je ne sais pas pourquoi il ne voulait pas...)
Ca me donne ça comme résultat : (j'ai juste ajouté une ligne dans un des 2 objets)
Changed: (D:\dev\comparateur2\src\comparateur.pbl)comparateur [open (string commandline)]
Added: (D:\dev\comparateur\src\comparateur.pbl)comparateur [InstanceVariables]
En fait il ne donne pas les différences
De plus il faut le faire à la main objet par objet (?)
Hors ligne
erasorz a écrit:
Oui je connaissais winmerge, bien utile pour comparer des dossiers ou des fichiers textes, mais si tu compares directement des pbl, y'aura des différences mais si le script est le même (vs binaries) ?
Oui, moi je parlais de WinMerge avec l'idée de comparer les scripts des différents objets exportés dans notre source-control (SVN) par PbScc.
Avec les PBL, même si les sources ne sont pas modifiées tu auras des différences dues aux timestamps (dernière modif, dernière compil) présents dans la pbl et aux objets compilés qui ont eux-même des timestamps.
Une solution est possible avec mon outil pbdumper qui permet de te retrouver les fichiers sources (si ils sont présents) mais tu te retrouves dans le cas que la comparaison des sources : parfois une méthode est déplacée dans l'objet quand tu as changé son prototype.
Hors ligne
erasorz a écrit:
je n'arrive pas à sélectionner (boutons select old / select new)...
Voilà par exemple le genre de 'caprice' de l'appli
erasorz a écrit:
il faut le faire à la main objet par objet (?)
Non, voici comment faire avec PBL Peeper 4.0.4 beta (et PB 11.5).
1) Lancer un PBL peeper tout neuf
2) Dans l'onglet 'PBLs', faire un drag/drop du PBT de référence du volet gauche vers le volet droit => la liste des PBL apparait
3) Cliquer sur l'onglet 'Compare' puis sur l'onglet 'App' situé à droite
4) Faire un drag/drop du PBT à comparer du volet gauche vers le volet droit => la liste des PBL apparait
5) Décocher 'Show names only' en bas à gauche (pour voir les scripts dans les résultats)
6) Cliquer sur le bouton Go (triangle vert dans la toolbox en haut) ou sur Edit::Go dans le menu
7) Aller boire un petit coup en fonction de la taille du projet...
8) Lorsque le résultat est dispo, on peut le sauver sous différentes formes avec le menu File::Save as
Seul petit bemol, il indique le résultat de chaque comparaison (objet+script) même si il n'y a aucune différence.
Esssaies rigoureusement ça et dis moi si c'est bon.
Hors ligne
okaaaaaaaaaaaaay =)
Geo a écrit:
Seul petit bemol, il indique le résultat de chaque comparaison (objet+script) même si il n'y a aucune différence.
En gros il faut écrire un parseur pour exploiter de manière automatique...
D'ailleurs je n'ai pas encore regardé : y a t'il un mode silencieux pour lancer pbl peeper par batch et générer le résulat dans un fichier donné...
EDIT : http://www.techno-kitten.com/PBL_Peeper … eters.html
-> mais pour le compare pas moyen de spécifier la 2ème target (?)
Hors ligne
Les paramètres en ligne de commande servent juste à ouvrir PBL Peeper dans une certaine configuration mais le faire fonctionner totalement en batch, je ne crois pas que ce soit possible et en plus, ça te priverai du point 7
Au mieux, tu peux ouvrir avec chargement du projet de référence et activer l'ongle 'Compare' mais le reste est à faire à la mano
Tu as beaucoup de comparaisons à faire ?
Hors ligne
PBTools permet aussi de comparer des sources.
Hors ligne
elbrizzio a écrit:
PBTools permet aussi de comparer des sources.
je l'ai téléchargé, mais quand je lance l'exe il ne se passe rien (windows XP)
sur un poste "vierge" de PB il me demande libjutils.dll, mais même en l'ajoutant il ne se passe rien en lançant l'exe
si quelqu'un peut essayer chez lui : http://myelkovan.codeplex.com/
EDIT : même comportement en utilisant les sources...
Hors ligne
PB Tools s'intègre directement dans l'IDE de PB. Normalement, tu dois avoir une toolbar supplémentaire.
La doc a écrit:
After running setup file, named pbtools_setup.exe, you will see a new toolbar in PowerBuilder.
Hors ligne
rho le
merci
Hors ligne
Ca arrive même aux meilleurs, ça ne sortira pas de ce topic .
Hors ligne
Bonjour,
je remonte ce topic ....
j'ai les sources de deux versions d'un projet à comparer, pour reporter les données de l'un à l'autre.
Visual Expert, je n'arrive pas à l'utiliser. Winmerge non plus.
PBL peeper, ça marche, mais pas super pratique, et j'ai l'impression qu'il ne compare pas les propriétés des objets (genre tailles et position des objets DW, par exemple)
là j'essaie d'installer PBTools, mais dans l'archive à télécharger, je ne vois que des sources en Json, mais pas le setup exécutable ..... j'ai pas téléchargé le bon truc ? suis-je un boulet ?
merci.
Hors ligne
ah en fait j'ai compris....
il existe une version 2.0 de pbtools ...
pour l'installer c'est là :
https://pbtools.software.informer.com/
Hors ligne