Up: Sauvegarder et restaurer des modifications Next: File list

Changes

L'option Changes du Launcher permet selon la sélection faite :

open change list
ouvre un outil permettant de naviguer dans un fichier source Smalltalk : le change list.

open change set
ouvre un inspecteur sur le change set. Sélectionner self affiche la liste des modifications du système mémorisées. Cette liste peut être altérée manuellement par l'intermédiaire de l'inspecteur du change set ...

file out change set ...
sort par file out toutes les modifications mémorisées dans le change set : classes ajoutées ou redéfinies, méthodes ajoutées ou modifiées, reorganisation des catégories et des protocoles, suppression des classes ou des méthodes.

empty change set
vide le change set, oublie donc la mémoire des modifications apportées au système. Le change set est différent pour chaque projet .

Le change list est composé de trois sous-vues principales :

  1. une liste des actions de modification du système

  2. une série de boutons

  3. une fenêtre de texte

Pour afficher une liste d'actions, il suffit dans le menu local de sélectionner la lecture d'un fichier .st ou .changes, ou bien l'option recover last changes. Ce dernier choix permet de relire toutes les modifications effectuées depuis la dernière sauvegarde de l'image.

Les actions enregistrées sont :

Les boutons permettent de filtrer les actions visibles dans la liste. On peut ainsi ne s'intéresser :

Le menu local de la liste permet alors de :

replay selection
reévalue la sélection
remove selection
raye la sélection, qui ne sera pas rejouée si un replay all est lancé
restore section
"deraye" la sélection
forget
fait disparaître les sélections rayées de la liste
write
permet de générer un nouveau fichier .st

Cet outil est l'outil de base de gestion de versions de Smalltalk ! Il permet aussi de tester les conflits de définition entre le fichier lu et l'état courant du système, en produisant un fichier dans lequel apparaissent les conflits détectés. Il est ainsi possible d'insérer du code Smalltalk développé par d'autres personnes dans une image, en en vérifiant a priori l'impact.

Attention, cette vérification n'est que partielle. Le code intégré pourrait très bien ajouter dans la hiérarchie des classes une méthode qui intercepterait un message et altérerait ainsi le fonctionnement "normal" sans pour autant qu'un conflit ne soit détectable.

beugnard@enst-bretagne.fr