Outils pour utilisateurs

Outils du site


fr:developpers:gestion_de_configuration

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

fr:developpers:gestion_de_configuration [2016/07/12 15:14]
darknoon Page moved from fr:gestion_de_configuration to fr:developpers:gestion_de_configuration
fr:developpers:gestion_de_configuration [2016/07/12 15:15]
Ligne 1: Ligne 1:
-====== Gestion avec BitBucket (Mercurial) ====== 
- 
- 
-===== Mercurial ===== 
- 
-Disponible pour les systèmes d'​exploitation Microsoft Windows, Mac OS X, et sur la plupart des systèmes d'​exploitation du type Unix, Mercurial est écrit principalement en Python. Il a été créé pour s'​utiliser via des lignes de commandes. Toutes les commandes commencent par « hg », en référence au symbole chimique du mercure. Ses principales caractéristiques sont, entre autres : 
- 
-  *     sa rapidité et sa capacité à gérer les gros projets ; 
-  *     son utilisation sans nécessiter un serveur ; 
-  *     son fonctionnement complètement distribué ; 
-  *     sa robustesse dans la gestion des fichiers ASCII et binaires ; 
-  *     sa gestion avancée des branches et des fusions ; 
-  *     son interface web intégrée. 
- 
-Comme Git et Monotone, Mercurial utilise une fonction de hachage SHA-1 pour identifier ses versions. 
- 
-Mercurial utilise un protocole réseau basé sur HTTP. 
- 
-Source : [[http://​fr.wikipedia.org/​wiki/​Mercurial|Wikipedia]] 
- 
-===== Bitbucket ===== 
- 
-Un compte Bitbucket sera nécessaire pour vous connecter au site. [[https://​bitbucket.org/​]] 
- 
-Ce compte hébergera vos développements et vous pourrez par la suite les soumettre à L'​OGSteam. 
- 
-Contrairement à SVN, il ne sera pas nécessaire d'​être membre de l'​OGSteam pour proposer des modifications. 
- 
-Vos propositions seront par la suite analysée et intégrées/​liées par les développeurs de l'​OGSteam dans la branche de développement principale. 
- 
-===== Sourcetree ===== 
- 
-==== Télécharger l'​outil ==== 
- 
-Téléchargement : [[https://​www.sourcetreeapp.com/​|Site de Sourcetree]] 
- 
-L'​installation se fait comme une application classique Windows ou Linux. 
- 
-==== Récupération d'un dépôt ==== 
- 
-<note important>​Ce chapitre explique la récupération d'un dépôt en général. Si vous voulez proposer des modifications à du code source de l'​OGSteam,​ il vous faudra auparavant faire un "​fork"​ du dépôt concerné. (Principe expliqué ici : [[http://​wiki.ogsteam.fr/​doku.php?​id=dev:​gestion_de_configuration#​si_vous_souhaiter_apporter_des_modifications_a_un_mod|Apporter des modifications à un mod]]</​note>​ 
- 
- 
-Il faut pour cela aller sur votre compte utilisateur : Exemple : [[https://​bitbucket.org/​darknoon29]] 
- 
-{{ :​dev:​bitbucket-home.png?​nolink&​600 |}} 
- 
- 
-Récupérer l’adresse du dépôt qui sera nécessaire à Tortoise Hg: 
- 
-{{ :​dev:​bitbucket-adress.png?​nolink&​600 |}} 
- 
-Conservons ce lien le temps d'​introduire l'​interface de Tortoise Hg 
- 
-Lancement de la console Tortoise Hg : 
- 
-Tout comme Tortoise SVN, tortoise Hg peut être lancé à partir du menu contextuel du répertoire windows. 
- 
-{{ :​dev:​tortoisehg-menu.png?​nolink&​300 |}} 
- 
-<note tip>Vous remarquerez sur l'​illustration qu'il existe comme avec SVN un sous menu avec toutes les actions courantes.(Ces actions sont aussi réalisables dans la console de Tortoise Hg)</​note>​ 
- 
-Si on lance donc le Hg WorkBench, on obtient la fenêtre suivante. (Identique sous Windows et Linux) 
- 
-{{ :​dev:​tortoisehg-console.png?​nolink&​900 |}} 
- 
-Cette interface est composée de plusieurs parties : 
- 
-  * Sur la Gauche vous avez tous les dépôt de travail de votre environnement 
-  * Sur la droite partie haute, vous avez la vide du dépot sélectionné : Commits et "​Push"​ 
-  * En bas à droite on y trouve la liste des modifications du commit sélectionné avec le Diff de chaque fichier. 
- 
-=== Barre d'​outils === 
- 
-{{ :​dev:​tortoisehg-tools.png?​nolink&​300 |}} 
- 
-Cette barre d'​outil contient toutes les actions à réaliser sur le dépôt 
- 
-Dans l'​ordre : 
-  * Vérification des modifications sur le dépôt 
-  * Récupération du dépôt le plus à jour (Pull) 
-  * Détecter les nouveautés qui seront envoyé vers le dépôt 
-  * Envoi des derniers commits vers le dépot (Push) 
- 
- 
-==== Modifications en local ==== 
- 
-Au contraire de SVN les modifications se font en local et ne sont envoyés au serveur qu'à la fin de votre travail. 
- 
-Cela a 2 avantages :  
- 
-  * Il est maintenant possible de travailler sans être connecté à internet. 
-  * Il est plus facile de découper son implémentation et de travailler en étapes : aucun risque de perturber le travail des autres utilisateurs. 
- 
-Une fois le travail terminé il faudra cependant envoyer son travail vers bitbucket avec la commande Push. 
- 
-Pour commiter, il suffit de sélectionner le répertoire de travail avec un bouton droit et de faire Hg Commit. (Même principe qu'​avec SVN) 
-<note tip> 
-Pour faciliter le travail de merge il est préférable de travailler avec des branches. Que ce soit pour une correction de Bug ou une correction d’anomalie.</​note>​ 
- 
-==== Utilisation de Branches ==== 
- 
-Dans l'​idéal il ne faudrait jamais travailler sur la branche default. Ceci afin de faciliter le travail multi utilisateur et de pouvoir accepter les modifications extérieures sans perturber son travail. 
- 
- 
-La spécificité du dépôt Bitbucket est que chaque dépôt est assigné à une branche. Donc en fonction de la branche qui est sélectionnée,​ vous verrez un code source différent. 
- 
-Une fois que la branche sera dans un état de développement assez avancé, vous pouvez reporter les modifications sur la branche principale ("​default"​). Il vous restera ensuite le choix de clore définitivement la branche ou de continuer à travailler dessus. 
- 
-La branche peut être créé pour beaucoup de raisons :  
- 
-  * La correction d'un Bug 
-  * Une évolution simple 
-  * Un essai de développement ou d'​amélioration 
- 
-=== Création d'une Branche === 
- 
-La création d'une branche se fait au premier commit. Vous aurez donc déjà effectué quelques modifications avant de voir la fenêtre suivante : 
- 
-{{ :​dev:​dev-branche.png?​nolink&​300 |}} 
- 
-Modification du Nom de la Branche : 
- 
-{{ :​dev:​dev-branch-confirm.png?​nolink&​300 |}} 
- 
-Commit sur la nouvelle Branche (Il faudra alors valider la création de la nouvelle Branche) 
- 
-{{ :​dev:​dev-branch-commit.png?​nolink&​500 |}} 
- 
- 
-<note important>​Désormais votre dépôt point sur votre Branche, toutes les modifications apportées à ce dépôt ne seront pas disponible dans la branche principale.</​note>​ 
- 
-Avec l'​outil HG WorkBench, nous voyons maintenant : 
- 
-{{ :​dev:​dev-branche_workbench.png?​nolink&​600 |}} 
- 
- 
-Notre branche de travail (La plus à gauche dans l'​outil) est donc FixBug_2. 
- 
-Nous allons maintenant voir comment revenir sur la branche principale. 
- 
-=== Sélection d'une Branche === 
- 
-Sélectionnez le répertoire de votre dépôt et sélectionnez l'​outil de mise à jour de dépôt: 
-{{ :​dev:​dev-update-hgmenu.png?​nolink&​400 |}} 
- 
-Sélectionnez la branche sur laquelle vous souhaitez mettre à jour votre dépôt (Attention à bien tout commiter sur la branche avant) 
- 
-{{ :​dev:​dev-update-hgdialog.png?​nolink&​500 |}} 
- 
-Une fois le changement de Branche effectué nous pouvons visuliser dans workbench que nous sommes bien revenu à la branche principale. 
- 
-{{ :​dev:​dev-update-schema.png?​nolink&​800 |}} 
- 
-Quant à notre branche, on la voit partie sur une autre vie =) 
- 
-=== Fusion d'une Branche sur le trunk=== 
- 
-Si l'on veut par la suite fusionner le travail effectué sur une branche, il faut sélectionner la révision et ouvrir son menu contextuel pour lancer le processus : 
- 
-{{ :​dev:​dev-branche-fusion.png?​nolink&​400 |}} 
- 
-Il reste à suivre les différentes étapes de la boite de dialogue pour obtenir le résultat suivant : 
- 
-{{ :​dev:​dev-branche-fusion-log.png?​nolink&​600 |}} 
- 
- 
-Notre branche est désormais intégrée à la branche principale. 
- 
-=== Création de la version (Tag) === 
- 
-Pour ajouter une étiquette à une version (Tag), 
- 
-Il faut sélectionner la révision et lui attribuer un petit nom : 
- 
-Menu contextuel de la révision : 
- 
-{{ :​dev:​dev-tag-menu.png?​nolink&​600 |}} 
- 
-Choix du nom de la version : 
- 
-{{ :​dev:​dev-tag-dialog.png?​nolink&​300 |}} 
- 
-La version est bien là !! 
- 
-{{ :​dev:​dev-tag-result.png?​nolink&​600 |}} 
- 
- 
-<​note>​Lorsque toute les opérations ont été effectuée sur le WorkBench, n'​oubliez pas de faire un push pour rendre vos nouveautés disponibles à tous sur Bitbucket</​note>​ 
-==== Push ! (Pousser ses modifications au serveur) ==== 
- 
-Le Push permet d'​envoyer ses modifications vers le dépôt BitBucket. 
- 
-Dans certains cas (Multiple utilisateurs sur le dépot) il faudra se synchroniser avec le serveur avec un Pull. 
- 
-Des merges seront peut être à réaliser dans ce cas. 
- 
-Pour les outils de Merge, nous pouvons utiliser KDiff (Gratuit) ou BeyondCompare (Payant ~ 30E) 
- 
-===== Travailler avec Tortise Hg et Bitbucket ===== 
- 
-Travailler avec Mercurial est bien différent de SVN mais apporte beaucoup de libertés. 
- 
-Il n'est par exemple plus utile de demander des droits pour modifier du source. Ce type de méthode est beaucoup plus appropriée à un projet communautaire. 
- 
-==== Si vous souhaiter apporter des modifications à un Mod ==== 
-  
-Dans ce cas, il vous faudra travailler avec l'​auteur du Mod qui s'​occupera de valider le contenu de vos développements. Le Mod sera hébergé dans l'​espace personnel de l'​auteur. 
- 
-Vous pouvez retrouver l'​auteur du mod que vous souhaitez modifier à cet endroit : [[dev:​fr:​dev:​ogspy:​liste_mods|Liste des Outils OGSteam]] 
- 
-Pour avancer, 
- 
-  - Il vous faudra récupérer sur son compte une copie du dépôt principal via la commande "​Fork"​. (Clone étant réservé aux utilisateurs ayant accès en écriture au dépôt) 
-  - Ensuite il est possible d'​effectuer toute les manipulations possible sur son dépôt sans perturber le dépôt principal et comparer régulièrement les différences par rapport au dépôt principal. (Compare) 
-  - Une fois que l'on est heureux avec son travail on fait une demande de réintégration:​ Pull Request 
-  - Le développeur de la branche principale du mod a alors le choix de prendre ou pas les modifications. ​ 
- 
- 
-==== Si vous souhaiter développer un nouveau Mod ==== 
- 
-Dans ce cas, l'​OGSteam vous laisse travailler sur votre dépôt. 
- 
-Cependant pour intégrer votre mod à l'​outil de mise à jour automatique de l'​OGSteam,​ il vous faudra contacter l'​OGSteam pour que l'un de ses administrateur crée un lien entre votre mod et le site de l'​OGSteam. 
- 
-Lorsque ce lien sera créé, toutes les versions que vous publierez seront disponible pour vos utilisateurs. 
- 
-<note important>​Certaines règles seront à respecter pour le développement,​ notamment celles qui sont situées à cette page [[fr:​ogspy:​documentation_mod|Tutoriel - Création d'un mod pour OGSpy]]</​note>​ 
- 
- 
-Un excellent tutoriel est disponible sur le site de Bibucket à ce sujet mais en anglais: [[https://​confluence.atlassian.com/​display/​BITBUCKET/​Fork+a+Repo,​+Compare+Code,​+and+Create+a+Pull+Request]] 
- 
- 
  
fr/developpers/gestion_de_configuration.txt · Dernière modification: 2016/07/12 15:15 (modification externe)