Gestion du code source avec Git

1.  Introduction

Git permet à plusiurs personnes de travailler simultanément au développement de code. Vous pouvez accéder à beaucoup plus d'informations au sujet de Git (en anglais), ou télécharger le code depuis la page d'accueil.

Pour les détails d'utilisation avec LyX (au cas où vous souhaiteriez contribuer au code), voyez nos pages wiki.

Il reste quelques modules actifs utilisant l'ancien SVN, voyez ici.

2.  Dépôt Git de LyX

lyxgit
Le code source de LyX est hébergé dans ce dépôt. Le développement de la future version majeure de LyX se trouve dans une branche « master » (maîtresse) et les versions mineures (de maintenance) sont développées dans des branches comme « 2.0.2 ». La prochaine version stable se trouve dans la branche la plus récente. Du fait d'anciens usages, nous appelons quelquefois la branche maîtresse « trunk » et la branche de maintenance simplement « branch ».
Vous devez utiliser le menu déroulant « Explorer » pour choisir la branche que vous voulez parcourir.

3.  Navigateur des sources Trac

Lorsque vous utilisez Git, vous pouvez télécharger un module entier à l'aide d'une seule commande. Si vous désirez consulter un seul fichier, vous pouvez utiliser le navigateur de sources Trac. Trac est une application qui permet, parmi d'autre fonctionnalités, de parcourir un dépôt Git et d'afficher les différences entre versions, de consulter les fichiers journaux et autres.

Le navigateur de sources Trac pour le dépôt Git (et l'ancien dépôt SVN) de LyX est accessible depuis la page d'accueil de LyX. Cependant, vous souhaitez plutôt télécharger un module. Si c'est la cas, poursuivez la lecture.

4.  Clonage anonyme Git

Depuis le répertoire où vous souhaitez placer une copie locale des sources, exécutez :

 git clone git://git.lyx.org/lyx

Ceci créera un répertoire lyx et y téléchargera de nombreux fichiers : une copie neuve nécessitera environ 400MB;  cependant, en fonction de l'interface que vous compilerez, vous aurez besoin de beaucoup plus d'espace pour la version compilée, jusqu`à 2GB.

Vous pouvez passer à la branche de maintenance via git checkout 2.3.x de l'intérieur du répertoire lyx.

5.  Après le premier téléchargement

Si le code à été mis à jour dans le dépôt, allez (cd) dans le répertoire lyx et tapez :

 git pull

Ceci va comme par magie télécharger ou mettre à jour uniquement les fichiers qui ont été ajoutés ou modifiés, économisant beaucoup de temps pour vous (et pour le serveur).

Si vous désirez seulement chercher ce qui a changé dans votre copie locale par rapport à celle du dépôt, tapez :

 git status

6.  Compilation des sources

Si vous voulez compiler et exécuter les versions de développement, les choses sont un peu plus compliquées que pour les versions publiées par fichiers d'archive, car vous aurez besoin d'applications additionnelles comme automake, autoconf, et gettext.

Sous Linux suivez simplement les instructions du fichier INSTALL (ça ressemble beaucoup à la séquence de commandes habituelles ./autogen.sh, ./configure, make, et make install).

Sinon vous pouvez consulter les instructions dans les fichiers INSTALL.Win32/MacOSX.


7.  Modification des sources

Nous encourageons fortement toute impulsion créatrice de votre part. Correction de bugs, documentation et nouvelles fonctionnalités seront toujours examinées avec soin, et seront acceptées sous réserves d'exceptions. Les nouvelles fonctionnalités seront rarement acceptées pour le version stable en cours.

Si vous désirez proposer de modifications, ce sera plus facile pour tous de modifier les derniers fichiers Git plutôt que la version stable. Voici un bref aperçu des opérations à effectuer :

  • récupérer la dernière version du code source en exécutant git pull ( un patch applicable à des sources anciennes sera beaucoup plus difficile à appliquer, et donc très probablement ignoré) ;
  • modifier les fichiers ;
  • exécuter git diff > mypatch.diff pour créer un patch ;
  • envoyer le patch à la liste de messagerie des développeurs.

8.  Accès en écriture via ssh

Si vous en venez à créer de nombreuses modifications que l'équipe LyX intègre au code, vous pouvez vous voir accorder un accès Git. Dans ce cas, votre vie peut être simplifiée. Voyez les informations détaillées dans notre wiki.

Le contenu de la page d'accueil de LyX qui n'est pas en wiki (e.g. les Nouveautés et les Annonces) est encore sous Subversion.

9.  Branches Git

Le développement principal stable de LyX se fait dans les branches Git. Si cela vous intéresse de contribuer au développement ou de tester les progrès dans ces branches, vous pouvez télécharger une copie par une commande du style

 git checkout 2.3.x

ou

 git checkout master

dans un dépôt déjà cloné.

Nom de la brancheGestionnaire de versionMainteneurÉtatCommentaire
master (trunk)S Kostyshak instableBranche maîtresse
branch 2.3.xS KostyshakRG HeckstableStable 2.1 series branch
branch 2.2.xS KostyshakRG HeckstableStable 2.1 series branch
branch 2.1.xVF RavesteijnRG HeckstableBranche des versions 2.1.stables
branch 2.0.xP SandaRG HeckstableBranche des versions 2.0.stables

Il y a également quelques branches anciennes devenues obsolètes:

Nom de la brancheMainteneurÉtatCommentaire
BRANCH_1_6_XJSpitzmstableBranche des versions stables 1.6
BRANCH_1_5_XJSpitzmstableBranche des versions stables 1.5
BRANCH_1_4_XJMarcstableBranche des versions stables 1.4
BRANCH_1_3_XJMarcstableBranche des versions stables 1.3
BRANCH-1_2_XJMarcstableBranche des versions stables 1.2
BRANCH_1_1_6JMarcstableStabilisation de 1.1.6