Pages enfant
  • Workflow rapide

Pour le contributeur

Le fonctionnement de GITHUB fait que toute personne peut être contributeur sans demande de droits spécifiques : il suffit d'ouvrir un compte GITHUB.

Lorsqu'on souhaite proposer une modification/contribution pour un aspect donné de esup-uportal, voici les opérations que l'on propose de mener depuis GITHUB.

On imagine ici simplement de proposer de modifier le fichier README : renommage de REAME en REAME-JASIG puis ajout d'un README spécifique à esup-uportal.

  1. Depuis https://github.com/EsupPortail/esup-uportal et une fois connecté sous son nom (vbonamy ici), on fork esup-uportal.git
    -> bouton fork en haut à droite
  2. On récupère son esup-uportal ainsi forké sur sa machine :
    git clone git@github.com:vbonamy/esup-uportal.git
    cd esup-uportal
    
  3. On ajoute une référence au dépôt EsupPortail pour pouvoir synchroniser son fork avec :
    git remote add upstream git://github.com/EsupPortail/esup-uportal.git
    git fetch upstream
    
  4. Dans l'optique de proposer une nouvelle fonctionnalité, correction de bug, on créé une branche spécifique qui contiendra uniquement les commits correspondant à ces travaux.
    git checkout -b modif-readme origin/master
    
  5. On fait les modifications qui vont bien directement dans cette branche (modif-readme ici), on fait des commit et on pousse - notez que l'on pousse dans une nouvelle branche de même nom ("modif-readme" ici) sur son fork github :
    git mv README README-JASIG
    git commit -m "rename README -> README-JASIG"
    echo 'Bienvenue sur esup-uportal, entrepôt de travail du GT EsupV4' > README
    echo 'https://www.esup-portail.org/display/ESUPMU/Groupe+de+travail+ESUP+V4' >> README
    git add README
    git commit -m "README specific to esup-uportal"
    git push origin modif-readme
    
  6. On propose maintenant notre contribution depuis https://github.com/vbonamy/esup-uportal en faisant un "pull request"
    -> bouton "pull request" en haut à droite (en choisissant la branche modif-readme ici)

Voir aussi la page : Envoyer des modifs au jasig

Synchroniser son fork avec le dépôt EsupPortail

Avant de pousser ses commits locaux dans son fork :

  1. On récupère les mises à jour du dépôt EsupPortail en local :
    git fetch upstream
    
  2. On met à jour son fork à partir du dépôt EsupPortail :
git merge upstream/master

Pour le mainteneur

La "team" esup-upotal-team dans l'organisation GITHUB EsupPortail contient les personnes ayant vocation à manipuler le GITHUB esup-uportal officiel de l'organisation EsupPortail.

C'est donc à cette "team" de traiter les "pull request". On notera cependant que ces personnes doivent contribuer comme tout un chacun sous forme de pull request, ce malgré leurs droits direct sur le GIT officiel esup-uportal : ils ont simplement 2 casquettes.

Pour traiter un pull request, le mainteneur doit

  1. dans un tout premier temps, s'assigner le "pull request" -> cela afin de signifier aux autres mainteneurs qu'il a pris en charge le pull request, l'idée est d'éviter que 2 mainteneurs fassent le même travail en parallèle.
  2. traiter effectivement le pull request : faire un merge si tout est ok, demander plus de renseignements etc.

Le mainteneur ne doit pas hésiter à se "désassigner" le "pull request" si besoin : après une demande de renseignements via les commentaires du pull request, si finalement un pb de disponibilité fait que le traitement ne peut être fait rapidement ...

On peut aussi imaginer qu'un mainteneur assigne d'autorité le "pull request" à un autre mainteneur après concertation.

On peut imaginer par exemple qu'un mainteneur qui propose lui-même un "pull request" préfère demander l'intégration de son "pull request" à un autre mainteneur (qui permet d'avoir un regard extérieur).

  • Aucune étiquette