RDI et Git
Fin
Gestionnaire de versions GIT
- Logiciel de gestion de version décentralisé
- Logiciel libre, créé à l’origine par Linus Torvald pour créer un nouveau système de fichiers
- C’est un «Source Control Management (SCM)», aussi appelé «Version Control System (VCS)»
- Il est le plus populaire des gestionnaires Open Source
- De nombreux services (gratuits ou payants) existent sur la base de Git
-> GitHub, BitBucket …
- Pré requis
•5733-OPS option 6
•PTF SI61060
Ensemble d’exécutables dans /QOpenSys/QIBM/ProdData/OPS/tools/bin
- Liens
•https://git-scm.com/
•https://fr.wikipedia.org/wiki/Git
- Cycle de vie d'un fichier
- Répertoires et référentiel
- Branches

Vous trouverez un très bon tuto ici : https://openclassrooms.com/courses/gerez-vos-codes-source-avec-git
Git et IBM i
Fonctionnement sous QSH


Pour initialiser

- --bare : sans sous répertoire
Configuration

la doc détaillée est ici : https://progit2.s3.amazonaws.com/fr/2016-03-05-4c838/progit-fr.1062.pdf
Avec SI63134, qui apporte CURL , nous pouvons cloner un dépôt depuis le web
par exemple : git -c http.sslverify= false http://github.com/OSSILE/OSSILE

résultat
Sous RDI

Mais si nous préférerons l'utilisation de git directement depuis RDI, allez chercher le PlugIn RDI "EGit"
Utiliser Git sous RDI
L'installation de ce plugIn est désormais intégré à la 9.6.0.2
Sinon, pour l'installer Aide/Eclipse MarketPlace

résultat :

Ouvrir la perspective Git



LE protocole est SSH par défaut, pensez à démarrer par STRTCPSVR *SSHD

Vous pouvez créer un projet (simple, contenant des fichiers à plat dans la workspace)
(Fichier/Nouveau/Projet)

puis le partager pour Git
Ouvrir la vue Projet


Nous venons de le voir, vous travaillez avec des fichiers locaux (du WorkSpace)
La meilleure solution est alors de créer un projet IBM i
vérifiez votre paramétrage Fenêtre/préférence → Projets I

- Puis création d'un projet

il s’agit d’enregistrer localement des sources venant d’une bibliothèque de référence.
Il y aura ensuite une phase d’ « Upload » et de « Build » , qu'il faut préciser sur le dernier écran
- Programme CL

- Commande

- *NONE
Pas de création automatique
- Ensuite (si besoin) importez des sources (fichiers entiers ou seulement quelques membres)
- Puis partagez


- Résultat dans le Projet i
(notez le caractère >, qui veut dire "nouveau")
- Sous la perspective Git

Commande Git ADD

Commit & Push

Confirmation

Résultat

- Actions (commandes Git) possibles

Revenons au projet i , création d'une nouvelle branche


Puis modifions un source

Il apparaît, alors, dans la vue réconciliateur distant

Dans la perspective Git
- Add
- Puis Commit


Synchronisation
en double cliquant sur le source, nous voyons les différences

Perspective Git, toujours
- Fusionner
- Push de branche


Et sur un autre POSTE ?
- Ouvre la perspective Projet
- Ne créez pas de projet I
- Ne créez pas de dépôt GIT
- Importez





- Cochez bien l'option "Importer des projets Eclipse existants"

- Importez le projet i

Résultat
- Sur ce poste, création d'une nouvelle branche

Notez sur le projet, la modification

- Créons un nouveau source

Il faut relier le projet à une connexion

- Sauvegardons
- Puis Equipe/Valider


- Sous Git
- Fusionner

- Sur le poste de l'utilisateur 1

La branche branche2 apparaît

Synchroniser avec l'espace de travail, récupère les nouveaux sources


- Sous Projet i

ET le vrai problème est là
Contrairement au monde Java, etc.., qui peut tester son code en local, nous devons compiler sur le serveur IBMi pour tester.
- Il faudrait alors que le projet référence une bibliothèque de test (de version) pour ne pas interférer avec la prod ou le travail des autres...
Une organisation à définir en Interne, pas facile à utiliser tel que !

©AF400