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

lyx.git
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 ».
Avec Trac, vous devez utiliser le menu déroulant « Explorer » pour choisir la branche que vous voulez parcourir.

3.  Navigateur des sources

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 et Gitweb sont des applications qui permettent, 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.

Probablement, cependant, vous souhaitez plutôt télécharger un dépôt Git. 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 https://git.lyx.org/repos/lyx.git

Ceci créera un répertoire lyx et y téléchargera de nombreux fichiers : une copie neuve nécessitera environ 800MB;  cependant, en fonction de l'interface que vous compilerez, vous aurez besoin de beaucoup plus d'espace pour la version compilée, jusqu`à 2GB. L'ancien protocole (beaucoup plus rapide mais moins sécurisé) git clone git://git.lyx.org/lyx fonctionne toujours et est également la seule façon de récupérer plusieurs dépôts du serveur git, sauf si vous êtes développeur.

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

Si votre connectivité est lente, le téléchargement initial de 1Gb peut être trop long. Nous proposons des miroirs du clone initial, les détails sont ici.

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), la section des téléchargements du wiki et les dictionnaires/thesauri sont dans des dépôts indépendants Git différents.

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)R Heck instableBranche maîtresse
branch 2.3.xS KostyshakRG HeckstableStable 2.3 series
branch 2.2.xS KostyshakRG HeckstableStable 2.2 series
branch 2.1.xVF RavesteijnRG HeckstableStable 2.1 series
branch 2.0.xP SandaRG HeckstableStable 2.0 series
branch 1.6.xJMatosJSpitzmstableStable 1.6 series
branch 1.5.xJMatosJSpitzmstableStable 1.5 series
branch 1.4.xLGBjønnesJMarcstableStable 1.4 series
branch 1.3.x JMarcstableStable 1.3 series
branch 1.2.xLGBjønnesJMarcstableStable 1.2 series
branch 1.1.6 JMarcstableStabilizing of 1.1.6