Projet

Général

Profil

EoleDebianVersioning24 » Historique » Version 1

Version 1/4 - Suivant » - Version actuelle
Daniel Dehennin, 25/07/2012 10:48
Début de réflexion sur la numérotation


Numérotation pour EOLE 2.4

Introduction

La mise en place du nouveau système de build permet de choisir la façon dont les paquets sont numérotés.

Paquets externes

Ce cas s’appliquera principalement aux développeurs Envole.

La branche master contenant le code d’une application externe sera taguée avec le numéro de version de l’application.

Par exemple, pour dokuwiki version 2012-01-25a:

user:~/src/eole/dokuwiki/ (master)$ git tag -s -m "Release 2012.01.25a" release/2012.01.25a
user:~/src/eole/dokuwiki/ (master)$ git push origin release/2012.01.25a

Cela produira des paquets numérotés:

  • 2012.01.25a-1: premier paquet
  • 2012.01.25a-2: second paquet

Numérotation par version de distribution EOLE

Les paquets sont numérotés en fonction de la distribution EOLE, par exemple, pour EOLE 2.4 : 2.4-<version>

Cette numérotation est celle utilisé pour la version 2.3 :
  • On ne versionne pas la branche master, sauf une fois lors de la mise en place d’une nouvelle distribution ;
  • Les paquets Debian doivent être au format *3.0 (natif)* ;
  • Lorsque deux distributions sont maintenues en parallèle, on n’utilise que du cherry-picking entre les branches : l’utilisation de la commande merge, dans le mauvais sens, apporterait un nouveau tag et donc une nouvelle numérotation :
    user:~/src/project (master)~$ git describe --abbrev=0 --match=release/*
    release/2.4
    # La branche 2.4 passe en mode support afin de commencer la 2.5
    user:~/src/project (master)~$ git branch 2.4 master
    
    # On commence la version 2.5
    user:~/src/project (master)~$ git tag -s -m "Naissance de EOLE 2.5" release/2.5
    
    # On vérifie
    user:~/src/project (master)~$ git describe --abbrev=0 --match=release/*
    release/2.5
    user:~/src/project (master)~$ git checkout 2.4
    user:~/src/project (2.4)~$ git describe --abbrev=0 --match=release/*
    release/2.4
    

Cette méthode de numérotation pourrait permettre de numéroter les paquets en fonction des release redmine, il suffirait de créer un nouveau tag sur la branche master avec la version EOLE:

user:~/src/project (master)~$ git describe --abbrev=0 --match=release/*
release/2.5

# On commence une nouvelle RC
user:~/src/project (master)~$ git checkout -b rc/2.5.1

# On corrige tous les bugs
user:~/src/project (rc/2.5.1)~$ $EDITOR source_file
user:~/src/project (rc/2.5.1)~$ git add source_file
user:~/src/project (rc/2.5.1)~$ git commit
[...]

# On tag la nouvelle version
user:~/src/project (rc/2.5.1)~$ git tag -s -m "Naissance de EOLE 2.5.1" release/2.5.1

# On intègre à la branche master
user:~/src/project (rc/2.5.1)~$ git checkout master
user:~/src/project (master)~$ git merge release/2.5.1