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.
- A kiadás az új verzió tartalmaz hibajavítást csak növeli a szám a mikro helyzetét.
- A verzió megjelenése a megváltozott funkcionalitás kisebb lépésekben és reset mikro.
- 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.