Proposition Scénario #8030
Mis à jour par Daniel Dehennin il y a plus de 8 ans
h3. Problèmes
* Il est actuellement possible La nouvelle gestion des dépôts nécessite de fusionner la branche de code *@2.5.1@* dans la branche de packaging *@2.4.2@*, car la commande *@git package@* utilise la branche courante
<pre>
moi@work:~/src/project (2.5.1/master=)$ git package dist/eole/2.4.2/master
</pre>
* Il est possible de demander la compilation de la branche de packaging *@2.5.1@* pour la distribution *@2.4.2@*, car les informations sont fournis par l’utilisateur
<pre>
moi@work:~/src/project (2.4.2/master=)$ git package -b eole-2.4.2 dist/eole/2.5.1/master
</pre>
h3. Propositions
Il faut revoir complètement l’UI de la commande *@git package@* :
* Fusionner la branche de code dans la branche de packaging d’une version
<pre>
moi@work:~/src/project (master=)$ git package --verbose merge <VERSION>
INFO: Fetching remote changes
INFO: Check if code branch “<VERSION>/master” is up-to-date
INFO: Checkout packaging branch “dist/<VENDOR>/<VERSION>/master”
INFO: Check if packaging branch “dist/<VENDOR>/<VERSION>/master” is up-to-date
INFO: Merge code branch “<VERSION>/master” into “dist/<VENDOR>/<VERSION>/master”
List of commits to merge:
1 da8d34c something
2 ae6b39b something elese
Do you want to merge “<VERSION>/master” into “dist/<VENDOR>/<VERSION>/master”? [No]:
</pre>
* Construction d’un paquet le fonctionnement, à minima pour une version
<pre>
moi@work:~/src/project (master=)$ git package --verbose build <VERSION>
INFO: Checkout packaging branch “dist/<VENDOR>/<VERSION>/master”
INFO: Check if packaging branch “dist/<VENDOR>/<VERSION>/master” is up-to-date
INFO: Found upstream version “release/<VERSION>”
WARNING: No new upstream release tag since last build
WARNING: Only Debian version will be updated
Moi requests a build for “<VERSION>” from “dist/<VENDOR>/<VERSION>/master”
List of new commits since “pkg/<VENDOR>/<DISTRIB>/<LAST PKG VERSION>”
1 c0ffee1 Merge branch “<VERSION>/master” into “dist/<VENDOR>/<VERSION>/master”
2 da8d34c something
3 ae6b39b something elese
Are you sure to proceed? [No]:
</pre>
Le choix de la distribution où envoyer les paquets construits ne sont plus du ressort de chaque développeur:
* Chaque version doit être déclarée sur le système de construction
* Chaque version doit avoir un état permettant de définir la distribution cible
** Version en développement → *@<VERSION>-unstable@*
** Version en RC → *@<VERSION>@* uniquement sur http://test-eole.ac-dijon.fr
** Version stable → *@<VERSION>-proposed-updates@*, passage manuel en *@-updates@* et/ou *@-security@*
complètement automatique.
* Il est actuellement possible La nouvelle gestion des dépôts nécessite de fusionner la branche de code *@2.5.1@* dans la branche de packaging *@2.4.2@*, car la commande *@git package@* utilise la branche courante
<pre>
moi@work:~/src/project (2.5.1/master=)$ git package dist/eole/2.4.2/master
</pre>
* Il est possible de demander la compilation de la branche de packaging *@2.5.1@* pour la distribution *@2.4.2@*, car les informations sont fournis par l’utilisateur
<pre>
moi@work:~/src/project (2.4.2/master=)$ git package -b eole-2.4.2 dist/eole/2.5.1/master
</pre>
h3. Propositions
Il faut revoir complètement l’UI de la commande *@git package@* :
* Fusionner la branche de code dans la branche de packaging d’une version
<pre>
moi@work:~/src/project (master=)$ git package --verbose merge <VERSION>
INFO: Fetching remote changes
INFO: Check if code branch “<VERSION>/master” is up-to-date
INFO: Checkout packaging branch “dist/<VENDOR>/<VERSION>/master”
INFO: Check if packaging branch “dist/<VENDOR>/<VERSION>/master” is up-to-date
INFO: Merge code branch “<VERSION>/master” into “dist/<VENDOR>/<VERSION>/master”
List of commits to merge:
1 da8d34c something
2 ae6b39b something elese
Do you want to merge “<VERSION>/master” into “dist/<VENDOR>/<VERSION>/master”? [No]:
</pre>
* Construction d’un paquet le fonctionnement, à minima pour une version
<pre>
moi@work:~/src/project (master=)$ git package --verbose build <VERSION>
INFO: Checkout packaging branch “dist/<VENDOR>/<VERSION>/master”
INFO: Check if packaging branch “dist/<VENDOR>/<VERSION>/master” is up-to-date
INFO: Found upstream version “release/<VERSION>”
WARNING: No new upstream release tag since last build
WARNING: Only Debian version will be updated
Moi requests a build for “<VERSION>” from “dist/<VENDOR>/<VERSION>/master”
List of new commits since “pkg/<VENDOR>/<DISTRIB>/<LAST PKG VERSION>”
1 c0ffee1 Merge branch “<VERSION>/master” into “dist/<VENDOR>/<VERSION>/master”
2 da8d34c something
3 ae6b39b something elese
Are you sure to proceed? [No]:
</pre>
Le choix de la distribution où envoyer les paquets construits ne sont plus du ressort de chaque développeur:
* Chaque version doit être déclarée sur le système de construction
* Chaque version doit avoir un état permettant de définir la distribution cible
** Version en développement → *@<VERSION>-unstable@*
** Version en RC → *@<VERSION>@* uniquement sur http://test-eole.ac-dijon.fr
** Version stable → *@<VERSION>-proposed-updates@*, passage manuel en *@-updates@* et/ou *@-security@*
complètement automatique.