Kövület

Kövület
Típusú elosztott verziókezelő rendszer [d]
Fejlesztő Richard Hipp [d]
Beírva C [1] és SQL [2]
Operációs rendszer platformközi
Első kiadás 2006
legújabb verzió 2.12.1 (2020. augusztus 20.)
Olvasható fájlformátumok SQLite adatbázis fájlformátum [d] és Fossil repository adatbázis [d]
Generált fájlformátumok SQLite adatbázis fájlformátum [d] és Fossil repository adatbázis [d]
Engedély 2 szakaszos BSD-licenc [3] [4]
Weboldal fossil-scm.org
 Médiafájlok a Wikimedia Commons oldalon

A Fossil  egy elosztott verziókezelő rendszer , amelyet Richard Hipp fejlesztett ki . Richard Hipp az SQLite adatbázis fő fejlesztője is , amelyet a Fossil az összes információ tárházaként használ.

Tervezés

Minden funkció egyetlen végrehajtható fájlban van megvalósítva (fossil vagy fossil.exe). A fájlméret két megabájttól (Mac 10.x x86) és négy megabájtig (Windows) terjed a különböző buildek esetében. Nincs szükség telepítési eljárásra, csak másolja a fájlt a számítógépén lévő mappába, amely a PATH változón keresztül érhető el . Ezenkívül a Fossil nem igényel semmilyen külső függőséget: A Fossil hatékony használatához NEM KELL CVS, gzip, diff, rsync, Python, Perl, Tcl, Java, apache, PostgreSQL, MySQL, SQLite, patch vagy bármilyen hasonló alkalmazás .

A Fossil érdekes tulajdonsága, hogy bár elosztott verziójú tárolórendszerről van szó, mint például a GIT vagy a Mercurial , lehetővé teszi a felhasználó számára, hogy olyan központi adattárral dolgozzon, mint a CVS vagy az SVN . Ez a funkció az automatikus szinkronizálási módnak köszönhetően valósul meg : a helyi adattárban végrehajtott változtatások sikeres véglegesítése ( commit ) után a szerkesztések automatikusan visszaküldésre ( push ) arra a szerverre kerülnek, amelyről a tárat klónozták vagy utoljára szinkronizálták. Hasonlóképpen, a helyi fájlok frissítésekor ( frissítés ) a Fossil először lekéri ( pull ) a legújabb változtatásokat a szerverről a helyi tárhelyre, majd frissíti a felhasználó fájljait. Az automatikus szinkronizálás alapértelmezés szerint engedélyezve: a szerzők szerint a kollaboratív fejlesztés ebben a módban gördülékenyebben megy, elkerülve az értelmetlen elágazásokat/összevonásokat, és a fejlesztőket a saját, inkompatibilis ágaik helyett a kód ugyanazon verziójában tartják.

A Fossil automatikusan ellenőrzi az összes adattár integritását és konzisztenciáját. A repository megbízhatósága az SQLite3 DBMS információtárolóként való használatán alapul, amely képes biztosítani a végrehajtható műveletek atomitását.

A verzióvezérlő rendszer funkcionalitása mellett ez a projekt egy hibakövető , szerkesztő és wikioldalak tárházának funkcióit is tartalmazza a projekttel való kényelmesebb munka érdekében. Ebben a projektben egy egyszerű HTTP szerver is megvalósul. Valójában az adattárral végzett minden munka a HTTP protokollon keresztül történik .

A Fossil webes felülettel rendelkezik, amelyet a felhasználó rugalmasan konfigurálhat. Az összes interfész-beállítást a tárolófájl is tárolja. A beépített HTTP szerver támogatja a külső CGI alkalmazásokkal való munkavégzés protokollját , ennek köszönhetően a mellékelt interfész funkcionalitása jelentősen bővíthető.

A Fossil webszerver lehetővé teszi a projektdokumentáció megjelenítését - a rendszer a megfelelő projektkönyvtár fájljait jeleníti meg a böngészőben, figyelembe véve a szerkesztés verzióját. A Fossil felismeri a fő fájltípusokat (.css, .gif, .htm, .html, .jpg, .jpeg, .png, .txt). Ezenkívül a speciális típusú szövegfájlokat külön kezeljük: .wiki (a Wiki jelölés egy változata ) és .md ( Markdown ). A dokumentációs fájlok szerkesztése magában a rendszerben nem biztosított, ez a projekttől függően előnyként és hátrányként is tekinthető.

Így egy Fossil alkalmazás elegendő egy komplett rendszer kialakításához a projekttel való munkavégzéshez: tároló, hibakövető, egyedi weboldal a tár megtekintésére az aktuális projektképek letöltésével, dokumentáció, wiki oldalak előzetes moderálás lehetőségével, stb. Konkrétan a fossil-scm.org oldal és a Fossil projekt tárháza készül rajta.

Használat

Az új projekt létrehozása az init paranccsal történik , amely inicializál egy üres tárolót:

fosszilis init <tárhelyfájlnév>

Ha egy meglévő projekttel szeretne dolgozni, létre kell hoznia egy helyi másolatot a tárhelyről a klón paranccsal :

fosszilis klón <URL a meglévő tárhelyhez> <tárfájlnév>

Például a következő sor létrehozza az SQLite projekttár klónját:

fosszilis klón http://www.sqlite.org/src/sqlite.fossil

A Fossil támogatja a GIT adattárak importját és exportját . Egy meglévő GIT -projektből származó adatok importálásához futtassa a következő parancsokat:

cd <git könyvtár> git fast-export --all | fosszilis import --git <lerakatfájlnév>

A tár létrehozása vagy klónozása után a fájlokat a projekt munkamappájába kell helyeznie. Ehhez hozzon létre egy könyvtárat, lépjen be, és futtassa a megnyitás parancsot :

fossil open <repository filename>

A helyi adattár konfigurálása webböngészőn keresztül történik :

fossil ui <tárhelyfájlnév>

A lerakatfájl neve elhagyható, ha a parancsot a projektfán belülről hajtja végre. Alapértelmezés szerint a Fossil nem igényel bejelentkezést, ha a kapcsolat a visszacsatolási felületen (127.0.0.1) keresztül megy.

Új fájlok hozzáadásához vagy régiek eltávolításához használja a parancsokat

kövület hozzáadása <fájlnév>... fossil rm <fájlnév>...

A fájlrendszer és a tárhellyel való automatikus szinkronizáláshoz létezik az addremove parancs . Eltávolítja a hiányzó helyi fájlokat a tárolóból, és hozzáadja a tárhoz azokat, amelyek még nincsenek ott, de jelen vannak a projektfában.

Ha el szeretné menteni a módosításokat a tárolóban (beleértve az add , rm , addremove parancsokat is), végre kell hajtani a commit parancsot .

fosszilis commit

A parancs beírása után automatikusan elindul az operációs rendszer szabványos szövegszerkesztője a véglegesítési megjegyzés szerkesztéséhez. Alapértelmezés szerint a commit parancsot egy push parancs követi, amely a módosításokat a távoli tárolóba küldi. Ez a viselkedés a következő paranccsal módosítható:

fosszilis beállítás automatikus szinkronizálás kikapcsolva

Ha az automatikus szinkronizálás le van tiltva, a felhasználónak magának kell szinkronizálnia a helyi tárolóját a távoli tárolóval, hogy a többi fejlesztő lássa a javításait.

fossil push <URL a repository> fossil pull <URL a repository> fosszilis szinkronizálás <URL a tárhelyhez>

A Push adatokat küld egy távoli kiszolgálónak, a pull lekéri a legfrissebb módosításokat, a szinkronizálási leküldéseket és a lehívásokat .

Miután a többi fejlesztőtől származó módosításokat lehívta a kiszolgálóról a pull paranccsal , hívja meg az update parancsot, és az update paranccsal alkalmazza a változtatásokat a projektfájl fára .

fosszilis frissítés VERSION

Ahol a VERSION lehet egy ág neve, egy címke, egy adott változat azonosítójának (műtermékének) rövidítése vagy egy időbélyeg. Ha nincs megadva verzió, akkor a legfrissebb módosítások kerülnek alkalmazásra.

Módosítások megosztása más verziókezelő rendszerekkel

Fossil Free Repository Hosting

A fosszilis tárolóhelyeket a Roy Keene által fenntartott Chisel site   szabadon üzemelteti . A fosszilis tárolókat is a SourceForge tárolja [2]

Könyvek

Jegyzetek

  1. 2.0 programozási nyelv // Funkciók hozzáadása a Fossilhez
  2. Gondolatok a fosszilis DVCS tervezéséről
  3. https://fossil-scm.org/home/finfo?name=COPYRIGHT-BSD2.txt
  4. https://www.fossil-scm.org/fossil/doc/tip/COPYRIGHT-BSD2.txt

Linkek