Verziókövetés Subversionrel (SVN) Kezdőknek
Voltál már valaha olyan projekten dolgozni, amely képes nyomon követni a változásokat, és visszaállítani őket? How-To Geek elmagyarázza, hogyan használhatja a népszerű verziókövető rendszert (Subversion) (a.k.a SVN).
Kép egyértelműen kétértelmű
Prelog
Ez az útmutató arra irányul, hogy általánosan használhassa a Subversion klienst, és ha van ilyen, akkor a * DD-WRT útválasztón. Ez az útmutató egyáltalán nem egy végleges útmutató a Subversion számára, és sok információ megtalálható a Subversion Vörös Könyvben. Ez az útmutató csak a legrövidebb kérdésekre adott rövid választ adja.
Áttekintés
Számos oka lehet annak, hogy miért szeretné, hogy „checkout” legyen a verziószámítógépet használó szoftverprojekt legújabb kódja. Ez lehetővé teszi a legújabb, még nem kiadott változások, a tesztelés és a fejlesztés támogatását. Ebben az útmutatóban néhány alapvető SVN-terminológiát fogunk átnézni, megmutatjuk, hogyan telepíthetjük az SVN-klienst Linuxon, Windows-on, és ha van egy OPKG-kompatibilis DD-WRT-útválasztó. Van egy példa egy projektre is, amelyet ki lehet fizetni és használni az említett útválasztóra.
Mi az a Subversion?
A Subversion egyáltalán nem az egyetlen verzióellenőrző rendszer, és az alternatívák közé tartozik a Git (amelyet Linus Torvalds a Linux kernel alapítója hoz létre), a Mercurial és a PerForce néhányat említ. Ez azt jelenti, hogy az egyik ingyenes, érett és széles körben használják világszerte.
A „Vörös Könyv” Subversionból:
A Subversion egy szabad / nyílt forráskódú verzióvezérlő rendszer (VCS). Ez azt jelenti, hogy a Subversion az idők során kezeli a fájlokat és a könyvtárakat, valamint a hozzájuk kapcsolódó változtatásokat. Ez lehetővé teszi az adatok régebbi verzióinak helyreállítását vagy az adatok megváltoztatásának történetének vizsgálatát. Ebben a tekintetben sokan úgy gondolják, hogy egy verzióvezérlő rendszer egyfajta „időgép”.
Megjegyzés: Ez a könyv jelentése a szubversionról szóló ismeretek végső gyűjtése, és azt tanácsoljuk, hogy minden Subversion-ral kapcsolatos témakörben utaljon rá.
Mi a verzió?
A változás olyan folyamat, ahol a projekt állapotát egy adott időpontban elmentjük. Ezt a fajta eljárást gyakran a szoftverfejlesztés kezelésére használják, így a munka tovább javíthatja a projektet, vagy hozzáadhat szolgáltatásokat, ugyanakkor képes nyomon követni, hogy mi változott az utolsó „mentési” ponttól. A kidolgozáshoz ez a fajta eljárás hasznos lehet egy személy számára, de még inkább egy embercsoport esetében, akik ugyanazon projekten dolgoznak. Ez azért van, mert általában, amikor egy projektet csoportként dolgozunk, a felelősség megoszlik, és a különböző emberek megváltoztatják a projekt különböző aspektusait. Verzió nélküli mechanizmus nélkül nagyon nehéz mindenkit szinkronban tartani a legfrissebb munkamódosításoktól mindenki mástól.
Terminológia
A tároló
A tároló az a hely, ahol a különböző helyek összes adata mentésre kerül. A szubversion világban, az ügyfél szemszögéből, a szerver tartja a projekt adatbázisát. Ez az adatbázis tartalmazza azokat a fájlokat, amelyek a projekt részét képezik az összes korábbi verziójukkal.
Felülvizsgálat
Adattár létrehozása esetén a nulla (0) verziószámot kapja. Ezt a számot egy (1) értékkel növekszik minden egyes végrehajtáskor. A revízió száma globális a tároló számára. Ez azt jelenti, hogy a tárolóban nincs egyedi verziók az egyes fájlokhoz, még akkor sem, ha az adott fájlban semmilyen változás nem történt meg az adott fájlhoz.
A munkadokumentum
A munkadokumentum egy adott verzió helyi másolata (vagy „pénztár”). Általában a kijelentkezett verzió a „legfrissebb” („fej”), de egy korábbi kérhető. A Felhasználó a helyi másolattal bármit megtehet, amit akar, azzal a tudattal, hogy a legrosszabb esetben csak a kódot lehetett újra fizetni. Ez a másolat „magán”. Ez azért van, mert addig, amíg nem frissíted vagy nem teszed el a másolatot, nem látod más emberek változásait, és nem fogják látni a tiédet.
Frissítés és konfliktusmegoldás
A helyi munkadokumentum frissíthető. Ez azt jelenti, hogy ha egy bizonyos verziót „megnéztél”, és a munka közben frissült a tároló verziója, frissítheti a munkakönyvet. Valójában a szerver megakadályozza, hogy a módosításokat a frissítés előtt frissítse, hogy megfeleljen a tárolónak. Erre azért van szükség, hogy kényszerítsük Önt arra, hogy a konfliktusokat lokálisan oldja meg, mielőtt még azt is gondolná, hogy megváltozik a tárolóban.
összevonása
Az egyesítés arra a folyamatra utal, amelyben a módosított kódot egy változatba keverik. Ez konfliktusok megoldását is magában foglalhatja.
elkötelezi
A kötelezettségvállalás az a folyamat, amelyben a helyi példányban végzett módosítások visszaolvadnak a tárolóba. Ez a folyamat legveszélyesebb része, hiszen itt az, hogy a változtatásokat ugyanazzal a lerakat tárolja. Éppen ezért ez általában egy bizonyos megfontolás után történik, a csapat konszenzusával és az egyesülő konfliktusok megoldásával.
A munkafolyamat
A felhasználó szempontjából a legalapvetőbb munkafolyamat a Subversion használatakor:
1. Ellenőrizze a meglévő kódot (általában a „fej”).
2. Végezze el a módosításokat, adjon hozzá fájlokat, és általában fejlessze a kódot.
3. Frissítse a legfrissebb verziót, hogy megbizonyosodjon arról, hogy a helyi másolat szinkronban van a tároló frissítéseivel.
4. Helyileg egyesítse és szükség esetén oldja meg a konfliktusokat.
5. Végezze el az egyesített változásokat a tárolóban.
6. GoTo 2. lépés.
Lehetővé válik a repedés
Telepítse az Ügyfelet
A Subversion használatához telepítenie kell az ügyfelet a gépére.
Linuxon
Csak a csomag telepítése szükséges. Az Ubuntu / Mint-ban ez a következőképpen történne:
sudo aptitude telepítés Subversion
DD-WRT-n
Ha követte a „További szoftverek telepítése otthoni útválasztójához (DD-WRT)” című részt, akkor az svn klienst egyszerűen kiadhatja:
opkg frissítés; opkg telepítse a subversion-client programot
Windows rendszeren
Míg a mély geek felhasználók elkezdhetik elfelejteni, hogy a grafikus felhasználói felület még mindig létezik, nem mindenkinek van. Ha SVN-tárolóhoz kíván csatlakozni egy Windows-klienshez, akkor a legnépszerűbb a „teknősbéka”. Használatához egyszerűen töltse le a programot, és telepítse a szokásos „következő, következő, befejező” divatba.
Hozza létre a „tárolót”
Miközben nem fogunk részletesen megismerkedni azzal, hogy hogyan kell beállítani egy szubversion szervert ebben az útmutatóban, a Google alternatívája nem rossz kezdet a kezdő felhasználó számára. Google-tárhely létrehozása:
- Menjen a Google Code webhelyére, és hozzon létre egy új projektet.
- A következő oldalon töltse ki a szükséges mezőket, és válassza ki a „verzióvezérlőrendszer” típusát, amelyik a szubversion.
Megjegyzés: Előfordulhat, hogy megnézheti, mi a különbség a Google által kínált licencek között, mielőtt kiválaszthat egyet a projekthez. - Kattintson a „Projekt létrehozása” lehetőségre.
A projekt létrehozása után meg kell találnia az utasításokat a „Forrás” fülön.
A Google-kóddal kapcsolatos szép dolog az, hogy lehetővé teszi egy névtelen olvasható verzió használatát a projekt számára. Ha nem akarja kezelni a saját projekt létrehozásának problémáját, névtelenül fizetheti be ezt az író adattárát.
Az egyik megjegyzés a hotfortech projektről: Ez a projekt a DD-WRT-nek a How-To Geek-en (amit személyesen használok) hozzáadott funkcióként készült, és néhány személyes csípés. Bár ez a projekt a Howtogeek-ben itt közzétett cikkekkel együtt működik, még mindig a privát projektem. Ez azt jelenti, hogy kiválóan alkalmas a Buffalo routerre (AR71xx architektúra), személyes szeszélyeimre és hajlamos az alkalmi borkage.
Linux / DD-WRT
Hozzon létre egy könyvtárat, például DD-WRT-ben, amely lehet:
mkdir -p / jffs / svn; cd / jffs / svn
A Linux teljes parancsa maga az SVN parancs, a „checkout” irányelv, a tároló címe és a pénztárhoz tartozó könyvtár. Hozzon létre egy üres könyvtárat, és hajtsa végre az alábbi parancsot:
svn checkout http://hotfortech-dd-wrt.googlecode.com/svn/trunk/ hotfortech-dd-wrt-csak olvasható
Ne feledje, hogy a fenti példában a csak olvasható változat ki van jelölve. Ha saját tárhelyet hoz létre, akkor a httpS linket kell használnia.
Windows rendszeren
Mivel a teknősbéka héjhosszabbítás, a Windows fájlfelderítői helyi menüjét (jobb egérgombbal) kell használni a használatához. Valójában, ha megpróbálja meghívni a start menüből, akkor megkapja:
- Hozzon létre egy üres könyvtárat.
- Kattintson jobb gombbal a helyi menü megjelenítéséhez.
- Válassza ki az „SVN Checkout” lehetőséget:
- Másolja és illessze be a projekthez tartozó linket (ha van ilyen) az „URL” szövegmezőbe:
- A projekt nagyságától függően ez eltarthat egy ideig, de amikor a „Checkout” befejeződött, valami hasonlót kell látnia:
- Elkezdhet fejleszteni.
„Frissítés” és „Összecsukás” a munkadokumentum
Ha a kóddal munkatársakkal vagy önmagával dolgozol, több helyről (azaz laptopról, asztali vagy akár routerről) frissíti a kódot, akkor frissítenie kell a munkadokumentumát, mielőtt elkötelezné a legújabb változtatásokat.
Linux / DD-WRT
A POSIX rendszereken ezt a parancsot egyszerűen:
svn fel
Windows rendszeren
- Kattintson a jobb gombbal a munkakönyvtárban, és válassza az „SVN frissítés” lehetőséget:
- Ha konfliktusokba ütközik, próbálja meg követni a képernyőn megjelenő utasításokat, és használja az ítéletét, hogy mit kell tennie velük.
„Kötelezze” a változtatásokat
Ez az, hogy konfliktusmentesnek kell lennie, és készen kell állnia arra, hogy a változtatásokkal frissítse a tárolót.
Az egyik pont, amit itt meg kell jegyeznünk, az, hogy általános gyakorlat, hogy a „log” üzenetet hozzáadjuk az elkötelezettséghez, hogy könnyen felidézhessék, miért történt a módosítás. Valójában a Google tárolója kötelezővé teszi ezt az elkötelezettséget.
Linux / DD-WRT
Ez a példa arra a kötelezettségvállalásra, amelyet a hotfortech projekthez készítettem, amely a 19-es verzióra emelte:
svn kötelezettség -m „frissítve, hogy tükrözze az új ant-ads pack linket”
Windows rendszeren
- Kattintson a jobb gombbal a munkakönyvtárban, majd válassza az „SVN Commit” lehetőséget:
- Egy ablakot kell üdvözölnie, amely lehetővé teszi, hogy jegyezze fel a naplóüzenetet:
- Nyomja meg az OK gombot, és amikor a rendszer kéri a jelszót, adja meg a Google által generált jelszót.
- Ha a kötelezettségvállalás sikeres volt, valami ilyesmit kell látnia:
- Ez az, hogy képesnek kell lennie, mint egy BOSS.
Záró megjegyzések
Ez elég ahhoz, hogy elkezdhessük. Javasoljuk, hogy olvassa el az SVN referenciakönyveket, hogy mélyebb és jobban megértse az összes SVN használatát, opcióját és figyelmét. Emellett emlékeztetünk (ismét), hogy a subversion NEM az egyetlen verzióvezérlő rendszer, és a GIT (amelyet Linus Torvalds a Linux kernel alapítója hoz létre) az utóbbi években egyre népszerűbbé válik.
Ha úgy dönt, hogy az útválasztó hotfortech projektjéből futtatja a “running-config.sh” -t, akkor azt fogja találni, hogy jelenleg telepíti az Ön számára: Az anti-ads-pack, az Opkg geek-init parancsfájl, valamint olyan dolgok, mint a teljes GNU „ls”, „kevesebb”, „BASH” és így tovább.
/jffs/svn/hotfortech-dd-wrt/running-conf.sh
További funkciók várhatók és a jövőben hozzáadódnak.
A rendszergazdák kódot adnak ki a kódolásból.