Hogyan kell tárolni a projektek a repository bejegyzések személyes tapasztalat a fejlesztés

A projekt keretében mind a kódot, valamint a harmadik fél könyvtárak. Természetesen felmerül a kérdés, hogyan kell tárolni ezt a cuccot. Ebben a kérdésben megpróbálom, hogy javaslatokat alapján saját tapasztalat.

  • A fejlesztők számára, hogy gyorsan dolgozni eltömődés nélkül a fejét a telepítés több tucat könyvtárak.
  • A könyvtárak rendelkezésére kell bocsátani a különböző projektek, valamint annak szükségességét, hogy elkerüljék a párhuzamos kódtáraihoz.
  • Meg kell tudni, hogy fenntartsanak egy bizonyos állapotát a projekt: az új verzió, licenc építeni tesztelők, stb

Mielőtt olvasás javasoljuk, hogy olvassa el az előző bejegyzésben.

Azt javaslom, az egyes projektek létrehozása tárolóból. Ez egyértelműen megkülönböztetik az egyik projekt a másiktól, ha szükséges, hogy a jogot, hogy módosítsa egyedi adattárak csak bizonyos fejlesztők, hogy megoldja a problémát az archiválás. A könyvtárak, sőt a párt, úgy kell tekinteni, külön projektek, valamint tárolása külön tároló. Kivételt csak akkor lehet elérni a nagyon nagy könyvtárak, mint a Qt vagy kiemelés.

Subversion lehetővé teszi, hogy a kapcsolat a projekt, a projekt által függés más projektekben. Így egyidejűleg a projekt a tárolóból lehet szerezni a szükséges kódot indul el automatikusan, anélkül, hogy az élet nehéz a telepítés több könyvtár és nyomkövető azok jelentőségét.

Mappák törzs, címkék, ágak

Gyakran használják a Subversion projekt szerkezete a három mappa: törzs, címkék és ágak. Mik ezek?

  • trunk - ezt a mappát a fejlődés. Ez mindig a legújabb verzióját a kód elérhető a fejlesztők számára. Itt nagyon fontos, hogy állandóan kódot sobirabelnom állapotban. Bármilyen hiba a szerelvény a projekt korrigálni kell a lehető leghamarabb, hogy ne olyan nehézségek, más fejlesztők.
  • A címkék az állam a projekt egy bizonyos ponton. Például közelebb engedje a fejlesztők kezdenek létrehozni egy szerelvény egy bizonyos frekvencia egyedi számot, amely továbbítja a tesztelők. A projekt állásáról ezen a ponton lehet rögzíteni a címke könyvtárban, így ez a név, hogy beszél, például build_723. Ez lehetővé teszi, hogy ha bármilyen hiba nem ebben a szerelvényben, és kimutatható a következő építeni, elemezni a probléma okát, és megteszi a szükséges intézkedéseket annak biztosítása érdekében, hogy ustraneniyu.Takzhe ünnepelhet kiadott verzió, mint a 1.0.5. Így a panaszt kapott a felhasználó számára, hogy egy hiba bármelyik verzió, akkor megteszi a code-to-date ezt a verziót, hogy tanulmányozza a problémát.
  • ága - ideiglenes ágak fejlesztők. Mit jelent ez? Fejlesztő Bob megkapja a munkát, hogy adjunk néhány funkciót. Annak érdekében, hogy ne akadályozza a munkát a csoport többi tagjával, hogy létrehoz egy másolatot a projekt elágazás / vasia_task_1234, dolgozik ezen ága rendszeresen fenntartása a kódot a tárolóból. Miután befejezte a feladatot, ő végzi a fúzió a fő fejlesztési ág (trunk), és törli az ideiglenes ága. Ez a feladat befejeződött, miközben ez rögzíti az állam működésének idején ág megzavarása nélkül ki más fejlesztők.

Munka ágak és a zár állapotát a projekt a címkék ismertetjük egy másik cikkben.

Hogyan kell hívni a verzió?

I-hez olyan módon, hogy a verziószámok áll három számjegy - nagy .minor .micro. ahol:

szak - a szám jelzi a verzió a termék (különböző verziószámok szerint jelentős különbségek termék)
minor - felforgatás termék (a különböző számok azt mondják, hogy a felforgatás különböző funkciók)
mikro - belül felforgatás azt jelzi, hogy kijavították a hibákat.

  1. A kiadás az új verzió tartalmaz hibajavítást csak növeli a szám a mikro helyzetét.
  2. A verzió megjelenése a megváltozott funkcionalitás kisebb lépésekben és reset mikro.
  3. Amikor egy új változata a termék jelentősen eltér a korábbi növekszik dúr, moll és a mikro- és vissza.

példaprojektet

Tekintsünk egy egyszerű projekt, amely a tényleges kódot a projekt (projekt) és két könyvtár (lib1, lib2). A szerkezet a három adattárak:

ágak
címkék
törzs

ágak
címkék
törzs

Tulajdonképpen a projekt - ez a projekt, amely függ a harmadik fél könyvtárak lib1 1.0 verzió és a védett könyvtárak lib2, amelyet most közösen fejlesztették ki a projektet, így a kapcsolat a fő fejlesztési ág (trunk).

Állítsa szerinti Subversion

Kérjük, vegye figyelembe. - azt mondják, hogy meg kell mutatni a beállított tulajdonságokat a mappa (egyes tulajdonságait lehet beállítani az egyes fájlok).

Szerkesztése és újabb tulajdonságokkal van egy parancs

Beállítani a tulajdonságait svn: külsőségek (természetesen az egész mappa) található a mappát a fő fejlesztési ág (put_na_lokalnoy_mashine / projekt / trunk) követi

törölheti az ingatlan csapat

Úgy néz ki, mint ez. Most, minden alkalommal vesz a projekt kódja a tárolóból kerül betöltésre egyidejűleg könyvtár kódot. Ha a könyvtárak készültek a változásokat, azok automatikusan frissülnek. Így felírása projekt függőségek nem gondolni könyvtárakba, frissítésre kerül, és automatikusan letölti a fő fejlesztési ág tartalmazza lib1 lib2 mappák és könyvtárak.

A következő logikus lépés - automatikusan összegyűjti a szükséges könyvtárak a projekt, amit hamarosan megmondja a példa a cross-platform CGyõzõdjön építeni automatizálási eszköz.

Kapcsolódó cikkek