Fosilní

Fosilní
Typ distribuovaný systém správy verzí [d]
Vývojář Richard Hipp [d]
Zapsáno v C [1] a SQL [2]
Operační systém multiplatformní
První vydání 2006
Nejnovější verze 2.12.1 (20. srpna 2020)
Čitelné formáty souborů Formát souboru databáze SQLite [d] a databáze úložiště Fossil [d]
Vygenerované formáty souborů Formát souboru databáze SQLite [d] a databáze úložiště Fossil [d]
Licence 2-klauzule BSD licence [3] [4]
webová stránka fosil-scm.org
 Mediální soubory na Wikimedia Commons

Fossil  je distribuovaný systém správy verzí vyvinutý Richardem Hippem . Richard Hipp je také hlavním vývojářem databáze SQLite , kterou Fossil používá jako úložiště všech informací.

Design

Všechny funkce jsou implementovány v jednom spustitelném souboru (fossil nebo fossil.exe). Velikost souboru se pohybuje od dvou megabajtů (Mac 10.x x86) do čtyř megabajtů (Windows) pro různé sestavení. Není vyžadována žádná instalační procedura, stačí zkopírovat soubor do složky na vašem počítači přístupné přes proměnnou PATH . Fossil také nevyžaduje žádné externí závislosti: NEPOTŘEBUJETE CVS, gzip, diff, rsync, Python, Perl, Tcl, Java, apache, PostgreSQL, MySQL, SQLite, patch nebo jakoukoli podobnou aplikaci, abyste mohli Fossil efektivně používat .

Zajímavou vlastností Fossilu je, že ačkoli se jedná o distribuovaný systém úložiště verzí jako GIT nebo Mercurial , umožňuje uživateli pracovat s centralizovaným úložištěm, jako je CVS nebo SVN . Tato funkce je implementována díky režimu autosync : po úspěšně dokončeném odevzdání změn v lokálním úložišti ( commit ) jsou úpravy automaticky odeslány ( push ) zpět na server, ze kterého bylo úložiště naklonováno nebo naposledy synchronizováno. Podobně při aktualizaci ( update ) místních souborů Fossil nejprve stáhne ( pull ) nejnovější změny ze serveru do místního úložiště a poté aktualizuje soubory uživatele. Ve výchozím nastavení povolena automatická synchronizace: podle autorů kolaborativní vývoj v tomto režimu běží plynuleji tím, že se vyhnete nesmyslným forkům/slučování a vývojářům zůstanou ve stejné verzi kódu místo jejich vlastních nekompatibilních větví.

Fossil automaticky kontroluje integritu a konzistenci všech úložišť. Spolehlivost úložiště je založena na použití SQLite3 DBMS jako úložiště informací, které je schopné zajistit atomicitu spustitelných operací.

Tento projekt kromě funkčnosti systému správy verzí obsahuje také funkcionalitu bug trackeru , editoru a úložiště wiki stránek pro pohodlnější práci s projektem. V tomto projektu je také implementován jednoduchý HTTP server. Ve skutečnosti se veškerá práce s úložištěm provádí prostřednictvím protokolu HTTP .

Fossil má webové rozhraní, které může uživatel flexibilně konfigurovat. Všechna nastavení rozhraní jsou také uložena v souboru úložiště. Vestavěný HTTP server podporuje protokol pro práci s externími CGI aplikacemi a díky tomu lze výrazně rozšířit funkčnost dodávaného rozhraní.

Webový server Fossil umožňuje zobrazit projektovou dokumentaci - systém zobrazí soubory z odpovídajícího adresáře projektu v prohlížeči s ohledem na verzi úpravy. Fossil rozpoznává hlavní typy souborů (.css, .gif, .htm, .html, .jpg, .jpeg, .png, .txt). Kromě toho jsou zvláštní typy textových souborů zpracovávány samostatně: .wiki (varianta značek Wiki ) a .md ( Markdown ). Editace souborů dokumentace v samotném systému není poskytována, to lze v závislosti na projektu považovat za výhodu i nevýhodu.

Jedna aplikace Fossil tedy stačí k vytvoření kompletního systému pro práci s projektem: repozitář, bug tracker, vlastní web pro prohlížení repozitáře se stahováním aktuálních obrázků projektu, dokumentace, wiki stránky s možností předmoderování, atd. Zejména jsou na něm vytvořeny stránky fossil-scm.org a úložiště projektu Fossil.

Použití

Vytvoření nového projektu se provádí pomocí příkazu init , který inicializuje prázdné úložiště:

fossil init <název úložiště>

Chcete-li pracovat s existujícím projektem, musíte vytvořit místní kopii úložiště pomocí příkazu clone :

fosilní klon <URL k existujícímu úložišti> <název souboru úložiště>

Například následující řádek vytvoří klon úložiště projektu SQLite:

fosilní klon http://www.sqlite.org/src/sqlite.fossil

Fossil podporuje import a export úložišť GIT . Chcete-li importovat data z existujícího projektu GIT , můžete spustit následující příkazy:

cd <adresář git> git fast-export --all | fossil import --git <název úložiště>

Po vytvoření nebo naklonování úložiště je třeba umístit soubory do pracovní složky projektu. Chcete-li to provést, vytvořte adresář, přejděte do něj a spusťte příkaz open :

fosil open <název úložiště>

Konfigurace místního úložiště se provádí pomocí webového prohlížeče :

fossil ui <název úložiště>

Název souboru úložiště lze při provádění příkazu ze stromu projektu vynechat. Ve výchozím nastavení Fossil nevyžaduje přihlášení, pokud připojení prochází rozhraním zpětné smyčky (127.0.0.1).

Chcete-li přidat nové soubory nebo odebrat staré, použijte příkazy

fosilní přidat <název souboru>... fosilní rm <název souboru>...

Pro automatickou synchronizaci souborového systému s úložištěm existuje příkaz addremove . Odebere chybějící místní soubory z úložiště a přidá do úložiště ty, které tam ještě nejsou, ale jsou přítomny ve stromě projektu.

Chcete-li uložit úpravy v úložišti (včetně po příkazech add , rm , addremove ), musíte provést příkaz commit .

fosilní závazek

Po zadání tohoto příkazu se automaticky spustí standardní textový editor operačního systému, který vytvoří komentář odevzdání úprav. Ve výchozím nastavení po příkazu commit následuje příkaz push , který provede změny do vzdáleného úložiště. Toto chování lze změnit příkazem:

fosilní nastavení autosync vypnuto

Pokud je automatická synchronizace zakázána, uživatel sám musí synchronizovat své lokální úložiště se vzdáleným, aby ostatní vývojáři viděli jeho opravy.

fosilní push <URL do úložiště> fosilní vytažení <URL do úložiště> fosilní synchronizace <URL do úložiště>

Push odesílá data na vzdálený server, pull stahuje nejnovější změny, synchronizuje push a pulls .

Poté, co byly změny od jiných vývojářů staženy ze serveru pomocí příkazu pull , měli byste zavolat příkaz update a aplikovat změny na strom souboru projektu pomocí příkazu update .

fosilní aktualizace VERZE

Kde VERSION může být název větve, značka, zkratka pro identifikátor (artefakt) konkrétní revize nebo časové razítko. Pokud není specifikována žádná verze, použijí se nejnovější změny.

Sdílení změn s jinými systémy správy verzí

Fossil Free Repository Hosting

Úložiště Fossil jsou volně hostována na webu Chisel  , který spravuje Roy Keene. Fosilní úložiště také hostí SourceForge [2]

Knihy

Poznámky

  1. 2.0 Programovací jazyk // Přidání funkcí do Fossil
  2. Myšlenky na konstrukci fosilního DVCS
  3. https://fossil-scm.org/home/finfo?name=COPYRIGHT-BSD2.txt
  4. https://www.fossil-scm.org/fossil/doc/tip/COPYRIGHT-BSD2.txt

Odkazy