Új verziókezelési módszereket vezettek be a Drupal.org-on

Hojtsy Gábor képe

A mai napon Derek Wright áldozatos munkájának köszönhetően új verziókezelési módszerek kerültek bevezetésre a Drupal.org projektjei számára. Az eddig megjelent kiterjesztések és modulok a 4.6.0, 4.7.0, stb verziókat kapták, jelezve, hogy melyik fő ággal kompatibilisek. Ezek valójában a 4.6.x és 4.7.x-es alap Drupal kiadásokkal kompatibilisek voltak. A fő problémájuk sajnos az volt, hogy az adott verzióhoz csomagolt tar.gz fájlok napról-napra változhattak, és nehéz volt tudni, hogy melyik verziót is használjuk tulajdonképpen. Ezen változtat az új rendszer, amit érdemes megismerni, hogy tudjuk, hogy egy letöltéstől mit várhatunk.

Először is már korábban írtunk arról, hogy a Drupalban két jegyű verziószámokra térünk át, azaz a jövőben az 5.x sorozatban jelennek majd meg az 5-ös kiadás hibajavító verziói, a kövekező új képességeket hozó verzió pedig a 6.0 lesz. Ehhez igazodik a modulok, sminkek és fordítások (összefoglalva kiegészítők) új számozása is:

CoreCompatibility-Major.PatchLevel[-Extra]
  • A CoreCompatibility 4.7.x illetve 5.x lesz annak megfelelően, hogy melyik ággal kompatibilis a kiegészítés. Itt tehát a jelölésben is megjelenik a konkrét x betű, sugallva, hogy minden változattal kompatibilis a kiegészítő abban a sorozatban.
  • A Major a főverziószám, ugyanis minden kiegészítőnek ezentúl lehetnek saját kiadásai. Az első ilyen kiadás mindig az 1-es számot kapja majd. Ezekután konvenció szerint a kiegészítő fejlesztője új képességek beépítése esetén a 2-es, 3-as, stb számokat adja majd a későbbi kiadásoknak. Bár senki nem akadályozza majd meg a fejlesztőket, hogy az 1-es számú kiadás újabb hibajavításaiba helyezzenek új képességeket, ez nem korrekt magatartás. így lehetőség lesz tehát a kiegészítők újratervezésére adott Drupal kompatibilitás mellett maradva.
  • A PatchLevel az adott modulkiadás hibajavításait jelöli. Az első kiadás 0-s PatchLevel értéket kap. Itt az a konvenció tehát, hogy a hibajavítások ennek a számnak a növelésével jelennek majd meg, az új képességek pedig a Major növelésével lesznek közzétéve (amely mellett a PatchLevel nulláról újraindul természetesen). A PatchLevel lehet "x" is, ilyenkor fejlesztői pillanatfelvételről (azaz adott időben csomagolt fejlesztői kódról) van szó.
  • Végül az Extra elem nem feltétlenül része a verzióknak. Ez lehet például egy '-dev' utótag, ami hangsúlyozza, hogy fejlesztői pillanatfelvételről van szó. Ilyenkor az adott nevű kiadás mögötti kód változhat, és annak stabilitására nem szabad számítani.

Összefoglalva tehát a "stabil" kiadásokat arról ismerjük meg, hogy a kompatibilitást jelző részen kívül számokat tartalmaz a verzió neve, több "x" vagy "-dev" tag nincs benne. Néhány példa:

  • 4.7.x-1.0: Első stabil kiadás (Major 1, PatchLevel 0), mely a 4.7.x-es Drupal verziókkal kompatibilis.
  • 4.7.x-2.1: A második kiadás első hibajavító verziója (Major 2, PatchLevel 1) egy 4.7.x-es Drupal kiadással kompatibilis kiegészítés esetén.
  • 5.x-1.0-dev: Fejlesztői pillanatfelvétel ("-dev") az első stabil kiadású (Major 1, PatchLevel 0) kiegészítésből, mely 5.x-es Drupal-lal kompatibilis.