Változatok követése Subversion (SVN) kezdőknek

Tartalomjegyzék:

Változatok követése Subversion (SVN) kezdőknek
Változatok követése Subversion (SVN) kezdőknek

Videó: Változatok követése Subversion (SVN) kezdőknek

Videó: Változatok követése Subversion (SVN) kezdőknek
Videó: How to fix an errors installed packages have unmet dependencies in Ubuntu 20.04 LTS Linux [2021] - YouTube 2024, Április
Anonim
Volt-e valaha olyan projekten dolgozni, amely képes követni a változásait, és visszaállítani őket? A How-To Geek leírja a népszerű verziókövető rendszer, a Subversion (a.k.a SVN) használatát.
Volt-e valaha olyan projekten dolgozni, amely képes követni a változásait, és visszaállítani őket? A How-To Geek leírja a népszerű verziókövető rendszer, a Subversion (a.k.a SVN) használatát.

Kép egyértelműen kétértelmű

Prelog

Ez az útmutató arra törekszik, hogy Ön képes legyen általánosságban használni a subversion klienst, és ha van ilyen, a * DD-WRT routereden. Ez az útmutató semmiképpen sem a végleges útmutató a Subversion számára, és sok információ található a Subversion vörös könyvében. Ez az útmutató csak a legegyszerűbb kérdésekre adott rövid megfogalmazásra szolgál.

Áttekintés

Számos ok lehet arra, hogy miért szeretné "lekötni" a verziót használó szoftverprojekt legfrissebb kódját. Ez lehetővé teszi, hogy kihasználja a legfrissebb, még változatlan változásokat, segítse a tesztelést és a fejlesztést. Ebben az útmutatóban néhány alapvető SVN terminológiát fogunk megismerni, megmutatjuk, hogyan kell az SVN klienst telepíteni Linuxra, Windows-ra és ha van egy az Ön OPKG engedélyezett DD-WRT routere. Beleállítottunk egy példát egy olyan projektre is, amelyet az említett forgalomirányítóval ki lehet fizetni és használni.

Mi a Subversion?

A Subversion semmiképpen sem létezik az egyetlen verzióvezérlő rendszer, és az alternatívák közé tartozik a Git (amelyet Linus Torvalds hozta létre a Linux kernel alapítója), a Mercurial és az PerForce néhányat említ. Ezzel azt mondta, hogy ez az egyik szabad, érett és széles körben használják világszerte.

A "vörös könyv" szubverzióból:

Subversion is a free/open source version control system (VCS). That is, Subversion manages files and directories, and the changes made to them, over time. This allows you to recover older versions of your data or examine the history of how your data changed. In this regard, many people think of a version control system as a sort of “time machine.”

Megjegyzés: Ez a könyv jelentése a felforgatással kapcsolatos tudás végső gyűjteménye, és tanácsos hivatkozni rá minden Subversion témában.

Mi a verzió?

A verziószámítás olyan folyamat, amelyben a projekt állapota egy időben mentésre kerül. Ez a fajta eljárás gyakran a szoftverfejlesztés kezelésére szolgál, így a munka tovább javíthatja a projektet vagy kiegészítheti a szolgáltatásokat, miközben képes követni azt, ami megváltozott az utolsó "mentési" pontból. Ahhoz, hogy kidolgozzon, ez a fajta eljárás hasznos lehet egy személy számára, de még inkább egy embercsoport számára, akik mind ugyanazon projekten dolgoznak. Ez azért van, mert általában projektcsoportként való munka során a felelősségek megoszlása és a különböző emberek megváltoztatják a projekt különböző aspektusait. Verziókezelő mechanizmus nélkül nagyon nehéz lenne mindenkit szinkronban tartani a legújabb munkamódosításokról mindenki másról.

Terminológia

A Repository A tároló az a hely, ahol a különböző helyekről származó adatok mentésre kerülnek. Az alvilági világban az ügyfél nézőpontjából a szerver, amely a projekt adatbázisát tartja. Ez az adatbázis tartalmazza azokat a fájlokat, amelyek a projekt részét képezik az összes korábbi változatban.

Felülvizsgálat

A tároló létrehozásakor nulla (0) revíziószámot kap. Ezt a számot egy (1) lépésenként növekszik minden egyes végrehajtáskor. A revízió száma globális a repository számára. Ez azt jelenti, hogy nincs egyedi revíziószám az egyes fájlok számára a repositoryban, még akkor sem, ha semmi sem változott ebben a fájlban az adott elkötelezettséghez.

A munkadokumentum

A munkadarab egy adott verzió helyi példánya (vagy "pénztár"). Általában ez a verzió a "legfrissebb" (más néven "fej" -nek nevezett) verzió, de az előzőt lehet kérni. A felhasználó megteheti a helyi példányt, amit akar, azzal a tudattal, hogy a legrosszabb esetben csak újra kattinthatják a kódot. Továbbá ez a másolat "magán". Ennek az az oka, hogy amíg nem frissíti vagy elkötelezi a másolatot, nem fog más emberek változásait látni, és nem fogja látni a sajátját.

Frissítés és konfliktusok megoldása

Helyi munkadarab frissíthető. Vagyis, ha egy bizonyos verziót "kijelölt", és miközben dolgozott, frissítette a repository verzióját, frissítheti munkaszámát a legfrissebbre. Valójában a szerver megakadályozza, hogy elkötelezze magát a változásokkal, mielőtt frissítené a legfrissebb verziót, hogy megfeleljen a tárolónak. Ez azért van, hogy arra kényszerítsen, hogy a konfliktusokat helyben megoldja, még mielőtt elgondolkodna a repository módosításairól.

összevonása

Az egyesítés azt a folyamatot jelenti, amellyel a módosított kódot egy verzióba keverik. Ez konfliktusok megoldásához is vezethet.

elkötelezi

Az elkötelezettség az a folyamat, amelyben a helyi példányban végrehajtott változtatások összevonásra kerülnek az adattárba. Ez a folyamat legveszélyesebb része, mivel itt van, hogy az Ön által végrehajtott változtatások befolyásolhatják ugyanazt a tárhelyet használó más embereket. Ezért van ez általában valamilyen megfontolás után, a csapat konszenzusával és az összeolvadási konfliktusok megoldása után.

A munkafolyamat

A leginkább alapvető munkafolyamat a felhasználó szemszögéből a felforgatás során:

1. Ellenőrizze a meglévő kódot (általában a "fej"). 2. Végezze el a módosításokat, adja hozzá a fájlokat, és általában fejlesztse ki a kódot. 3. Frissítse a legújabb verziót, és ellenőrizze, hogy a helyi másolat szinkronban van-e a repository frissítéseivel. 4. Ha szükséges, helyben összefonódjon és oldja meg a konfliktusokat. 5. Tegyük fel, hogy az összeolvadt változások az adattárba kerülnek. 6. Folytassa a 2. lépést.

Lazítson

Telepítse az Ügyfelet

Annak érdekében, hogy használhassa a felforgatást, telepítenie kell a klienst a gépére.

Linuxon

Csak a csomagot kell telepítenie. Az Ubuntu / Pénzverőn ezt a következőkkel lehet elvégezni:

sudo aptitude install subversion

A DD-WRT-n

Ha követte a "Hogyan telepítsek további szoftvert az otthoni routerére (DD-WRT)", akkor telepítheti az svn klienst egyszerű kiadásával:

opkg update; opkg install subversion-client

Windows rendszeren

Míg a mély geek felhasználók elkezdhetik elfelejteni, hogy a GUI időnként létezik, nem mindenkinek. Ha egy Windows ügyfélprogramot szeretne használni egy SVN tárolóhoz való csatlakozáshoz, messze a legnépszerűbb a "Tortoise". Használatához egyszerűen töltse le a programot, és telepítse a rendszeres "következő, következő, befejezési" divatba.

Hozzon létre "repository"

Bár nem fogunk részletesen leírni, hogyan állíthatunk be egy subversion szervert ebben az útmutatóban, a Google alternatíva nem rossz kezdet a kezdő felhasználók számára. Google-tárhely létrehozása:

  • Vezesse át a Google Code webhelyét, és hozzon létre egy új projektet.

    Image
    Image
  • A következő oldalon töltse ki a szükséges mezőket, és válassza ki a "verziókezelő rendszer" típusát, hogy felforgató legyen.

    Image
    Image

    Megjegyzés: Előfordulhat, hogy áttekinteni szeretné, mi a különbség a Google által kínált licencek között, mielőtt kiválaszt egyet a projekthez.

  • Kattintson a "Projekt létrehozása" gombra.

" Pénztár" a munkadarabodat

Miután létrehozta a projektet, meg kell találnia az utasításokat a "Forrás" lapon való eléréshez.

A Google-kóddal kapcsolatos szép dolog az, hogy lehetővé teszi a névtelen, csak olvasható verziót a projekt számára. Ha nem akarja foglalkozni a saját projekt létrehozásával kapcsolatos problémákkal, névtelenül kiválaszthatja az író tárházát.
A Google-kóddal kapcsolatos szép dolog az, hogy lehetővé teszi a névtelen, csak olvasható verziót a projekt számára. Ha nem akarja foglalkozni a saját projekt létrehozásával kapcsolatos problémákkal, névtelenül kiválaszthatja az író tárházát.

Egy megjegyzés a hotfortech projektről: Ez a projekt egy olyan csomagot jelent, amelyet a DD-WRT-hez hozzáadtak a How-To Geek-hez (amit személyesen használok), valamint néhány személyes csípést. Bár ez a projekt célja a howtogeek-ben megjelent cikkekkel való együttműködés, ez még mindig magánprojektem. Vagyis nagyon alkalmas a Buffalo routerre (AR71xx architektúrára), az én személyes szeszélyeire, és hajlamos az alkalmi borkalapokra.

Linux / DD-WRT-en

Hozzon létre egy könyvtárat, például a DD-WRT-ben, amely lehet:

mkdir -p /jffs/svn; cd /jffs/svn

A teljes Linux parancs a SVN paranccsal, a "checkout" direktíva, az adattár címével és a címjegyzékkel is rendelkezik. Hozzon létre egy üres könyvtárat, és hajtsa végre az alábbi parancsot:

svn checkout https://hotfortech-dd-wrt.googlecode.com/svn/trunk/ hotfortech-dd-wrt-read-only

Ne feledje, hogy a fenti példában a csak olvasható verzió ellenőrzi. Ha saját adatbázist hoz létre, akkor httpS hivatkozást kell használnia.

Windows rendszeren

Mivel a teknősbéka héj-kiterjesztés, a Windows fájlt explorer helyi menüjéhez (jobb egérgombbal) kell használni. Valójában, ha megpróbálja felhívni a Start menüt, akkor kap:

Image
Image
  • Hozzon létre egy üres könyvtárat.
  • Kattintson a jobb egérgombbal a helyi menü megjelenítéséhez.
  • Válassza az "SVN Checkout" lehetőséget:

    Image
    Image
  • Másolja és illessze be a projekthez tartozó linket (ha van ilyen) az "URL" szövegdobozba:

    Image
    Image
  • A projekt méretétől függően ez eltarthat egy ideig, de amikor a "Checkout" befejeződött, valami ilyesmit kell látnia:

    Image
    Image
  • Elkezdheted a fejlesztést.

"Frissítés" &"Merge" a munkadarabodat Ha a kollégákkal dolgozó kollégán dolgozik, vagy ön maga frissíti a kódot több helyről (például laptopról, asztali számítógépről vagy akár útválasztóról), frissítenie kell a munkadokumentumát a legutóbbi módosítások elvégzése előtt.

Linux / DD-WRT-en

A parancs ezen POSIX rendszereken egyszerűen:

svn up

Windows rendszeren

  • Jobb egérgombbal kattintson a munkakönyvtárban, és válassza az "SVN Update" menüpontot:

    Image
    Image
  • Ha konfliktusokkal találkozik, próbálja meg a képernyőn megjelenő utasításokat követni, és használhatja ítéletét arról, hogy mit tegyen velük kapcsolatban.

"Elkötelezik" a változásait Ez az, konfliktusmentes és készen áll arra, hogy frissítse az adattárat a változásokkal. Az egyik pont, hogy megjegyezzük, hogy ez egy általános gyakorlat, hogy hozzá egy "log" üzenetet a kötelezettségvállalás, hogy képes legyen könnyen emlékeztetni, hogy miért történtek a változtatások. Tény, hogy a Google raktárában ez kötelező előfeltétele az elkövetésnek.

Linux / DD-WRT-en

Ez egy példa a 2004-es verzióhoz csatolt hotfortech projektre:

svn commit -m “updated to reflect new ant-ads pack link”

Windows rendszeren

  • Jobb klikk a munkakönyvtárban és válassza az "SVN Commit" lehetőséget:

    Image
    Image
  • Meg kell üdvözölnie egy olyan ablakot, amely lehetővé teszi, hogy jegyezze fel a naplóüzeneteket:

    Image
    Image
  • Nyomja meg az OK gombot, és amikor jelszót kér, adja meg a Google által generált jelszót.
  • Ha az elkövetés sikeres volt, akkor valami hasonlónak kell lennie:

    Image
    Image
  • Ez az, akkor képesnek kell lennie arra, hogy elkötelezze magát, mint egy BOSS.

Végső megjegyzések Ennek elégnek kell lennie ahhoz, hogy elinduljon. Javasoljuk, hogy olvassa el az SVN referenciakönyveket, hogy mélyebben és jobban megragadhassák az SVN összes használatát, lehetőségeit és figyelmeztetéseit. Ismét emlékeztessünk rá (újra), hogy a felverés NEM az egyetlen verzióvezérlő rendszer, és a GIT (amelyet Linus Torvalds hozta létre a Linux kernel alapítója) az elmúlt években egyre népszerűbbnek tűnik.

Ha úgy dönt, hogy futtatja a routeren található hotfortech projekt "running-config.sh" fájlját, azt fogja találni, hogy jelenleg telepíti az Ön számára: Az anti-hirdetéscsomagot, az Opkg geek-init szkriptet, valamint olyan dolgokat, mint a teljes GNU "ls", "less", "BASH" és így tovább.

/jffs/svn/hotfortech-dd-wrt/running-conf.sh

További funkciók függőben vannak, és a jövőben hozzá fognak férni.

A rendszergazdák kódolják ki a kódolást.

Ajánlott: