Mise en œuvre CVSNT 2.5/PushOk 2.1.2.5/Powerbuilder 11.2

PH. BUCAILLE (philippe@bucaille.info)

 

Ce document rapide explique la mise en œuvre du gestionnaire de sources CVSNT  avec Powerbuilder.

Ce document suppose que vous avez déjà le gestionnaire de sources installé CVSNT (http://www.march-hare.com/cvspro/) et fonctionnel sur un serveur.

Sur le poste client Powerbuilder, vous devez avoir installé le plug-in  PushOK (CVS SCC plug-in, http://www.pushok.com/)

Sommaire

1.      Définition du gestionnaire de source dans le « workspace «  Powerbuilder. 1

2.      Ajout du projet au workspace. 4

3.      Mettre le projet sous source control 5

4.      Etape préalable à la modification d’un objet. 8

5.      Réintégration des modifications de l’objet. 9

6.      Gestion de la concurrence d’accès. 10

7.      Récupération d’une copie de travail sur un nouveau poste. 13

 

1.     Définition du gestionnaire de source dans le « workspace «  Powerbuilder

Vous commencez par créer un nouvel espace de travail dans powerbuilder. Vous accédez  ensuite aux propriétés de cet espace en effectuant un clic droit de souris sur l’espace et en sélectionnant le menu « Properties « :

 

Dans les propriétés de l’espace de travail « workspace », il faut cliquer sur l’onglet « Source control « et choisir dans la liste déroulante le type de système de contrôle du source « Source Control System » : PushOk CVSSCC NT :

Il faut éventuellement définir le répertoire de travail local du poste « Local Root Directory ». Ensuite, il faut définir les paramètres de connexion au serveur de sources en cliquant sur le bouton « connect » :

 

Il faut commencer par définir l’emplacement racine de votre serveur  CVS. Puis, il faut créer un nouveau module sur votre de serveur de sources qui va définir l’emplacement ou seront stockées les futurs sources (Tester la connexion avec le bouton login, définition du mot de passe).

Pour cela, vous tapez le nom de votre module dans le champ « CVS MODULE » (ex : Tutorial) et vous appuyez sur le bouton « Create ». A l’issue, il devrait s’afficher : « Module successfully created ».

Vous pouvez maintenant fermer la fenêtre de connection au serveur de sources en appuyant sur le bouton « Ok », puis de même pour la fenêtre de propriétés du « workspace « 

2.     Ajout du projet au workspace

Maintenant, vous ajouter votre projet « target » à mettre sous source contrôle à votre espace de travail « Workspace » :

Si tout va bien, chaque objet de votre projet doit présenter un petit icône plus vert devant son nom.

3.     Mettre le projet sous source control

Pour cela, il suffit d’effectuer un clic droit de souris sur le projet « target » et de cliquer sur le menu : Add to Source Control…

La fenêtre suivante devrait s’afficher :

Il suffit de cliquer sur le bouton OK pour poursuivre, la fenêtre suivante devrait s’afficher avec l’ensemble des objets du projet de sélectionner à mettre sous source contrôle.

Une nouvelle fois, il suffit de poursuivre en validant le bouton « OK ». A l’issue, le projet devrait être sous source contrôle :

Le petit point vert devant chaque nom d’objet signifie maintenant que chaque objet est sous source contrôle.

 

4.     Etape préalable à la modification d’un objet

Pour modifier un objet, il suffit de faire un clic droit contextuel sur l’objet et de sélectionner l’entrée « Check Out …«  du menu :

A l’issue, l’objet doit présenter devant son nom une petite coche signifiant que l’on peut maintenant travailler dessus :

5.     Réintégration des modifications de l’objet

Pour réintégrer les modifications sur un objet, il suffit de faire un clic droit contextuel sur l’objet et de sélectionner l’entrée « Check In …«  du menu, la fenêtre suivante devrait s’ouvrir :

Taper un commentaire sur votre modification, puis appuyer sur le bouton Ok de la fenêtre. Votre objet sera à l’issue réactualisé sur le serveur de gestionnaire de sources (vous devriez voir son numéro de version incrémenté) :

6.     Gestion de la concurrence d’accès

Contrairement à d’autres gestionnaires de sources (PVCS, Perforce), CVS par défaut permet la modification simultanée d’un fichier sous source control (« unreserved checkout ») et propose une fusion du source  au moment de la réintégration du code.

Pour Powerbuilder,  ce mode n’est pas forcément le mieux adapté due à l’agencement du code source. Mais il est possible de changer le mode de fonctionnement de CVS pour passer en mode d’édition non-concurrentielle.

Pour cela, il suffit de  cliquer sur le bouton « advanced » des propriétés du workspace dans l’onglet « source control »

Ensuite, il suffit de cocher les options pour le « groupbox Misc » :

Check server for file status

Determine « Need update or out of sync » status

Determine “Checkout by someone else”  status

 

Dans le “groupbox Concurrent edit” :

                Reserved checkout mode (explicitly restrict checkout of edited file)

 

 

 

A la suite de cela, un poste est  informé qu’un objet est en cours de modification sur un autre poste par le changement de l’icône de statut (croix rouge) devant l’objet Powerbuilder et interdit son édition :

De même, un objet qui n’est pas dans sa dernière version sur le poste par rapport au gestionnaire de sources est signalé par un icône de statut (flèche circulaire) :

 

7.     Récupération d’une copie de travail sur un nouveau poste

Important : vous noterez qu’il n’a jamais été question d’aucune manière de PBL, il n’ y a aucune notion de PBL mise sous source contrôle. Par contre, vous noterez que dans votre répertoire local il est généré automatiquement un fichier avec l’extension PBG portant le même non que la PBL. Ce fichier contient le descriptif du contenu de votre PBL et il est automatiquement mis à jour sur le serveur gestionnaire de sources.

C’est ce fichier qui permet de reconstruire le projet sur un nouveau poste.

Il suffit de récupérer la dernière version du source sur le poste local à partir d’un batch en  ligne de commande suivante :

SET BUILD=D:\Program\Tutorial

cvs -d :pserver:philippe:password@svrweb/Sources/CVS export -d %BUILD% -D 20501231 Tutorial

 

A l’issue,  vous devez donc avoir un répertoire qui contient en ensemble de fichiers textes avec des extensions .srw, .srd, … et .pbg mais pas de pbl. Votre répertoire local doit aussi contenir le fichier de votre projet « target » (extension .pbt) qui est lui aussi également sous source contrôle.

 

 

Pour reconstruire, vos librairies (PBL), il suffit de créer le fichier texte contenant le script orca suivant (ex : tutorial.orca) :

 

(Plus d’info ORCA : Powerbuilder User’s Guide -> Appendixes -> Appendix B The OrcaScript Language)

 

start session

 

scc set connect property localprojpath "D:\Program\Tutorial"

scc set connect property logfile "Tutorial.log"

scc set connect property logappend false

 

scc connect offline

 

scc set target ".\tutorial.pbt" importonly outofdate

scc refresh target full

 

scc close

end session

 

Ensuite, il suffit d’exécuter  votre script orca en ligne de commande pour reconstruire totalement vos librairies :

orcascr110.exe tutorial.orca

 

Note : ORCA peut se connecter au serveur de sources pour extraire la dernière version du projet sans passer par le batch précédent d’extraction (cvs ….). J’ai abandonné cette méthode car elle présente l’inconvénient d’être particulièrement lente