phpRS            

Dnešní datum: 07. 09. 2010   | Hlavní stránka | Seznam rubrik | Kniha návštěv |  
  Hlavní menu
Hlavní stránka
Seznam rubrik
Fotogalerie
Kniha návštěv
Stáhněte si
Odkazy
Ankety
TOP 15

  Reklama


  Rubriky

  Poslouchám na síti


Spusť přehrávač


Spusť přehrávač


  Informace o webu
Všehochuť aneb od každého trochu

Content © 1991-2010 Slávek Rydval

View Slávek Rydval's profile on LinkedIn

Vytvořeno pomocí phpRS a Texy!

RSS kanál

Software

* Microsoft Visual SourceSafe - Správa verzí pro každého

Vydáno dne 04. 08. 2005 (2921 přečtení)

Nástroje pro správu verzí nejsou ještě mezi uživateli výpočetní techniky tolik známé - dokonce ani mezi vývojáři. O co vlastně jde? Version Control System (VCS) je nástroj umožňující správu verzí projektů, na kterých buďto sami nebo v týmu pracujete. Produkt firmy Microsoft, který si představíme, patří mezi ty, které jsou primárně založené na sériovém modelu (viz rámeček Sériový a paralelní model), ale umožňuje pracovat i paralelně.

Instalace

Visual SourceSafe (dále jen VSS) lze používat buďto pouze na jednom počítači nebo síťově, kde na file serveru (v podstatě to může být libovolný počítač, kam může uživatel zapojený do sítě zapisovat) jsou typicky umístěny databáze. V případě instalace na server se zde ještě umístí instalační soubory pro klientské počítače. Odtud si pak každý uživatel instaluje klientskou část VSS na svůj počítač. Po instalaci na file server je automaticky založena jedna databáze, takže zbývá pouze přidat uživatele a začít pracovat. V praxi je však běžné a žádoucí, že se databází vytvoří více v závislosti na povaze projektů a pracovních týmů.

Pracujeme s projekty

Po instalaci již můžeme přistoupit k vlastnímu využívání aplikace. Základem všeho je založit si projekty. Ty se zobrazují v levé části okna (viz obrázek 1). Ve skutečnosti to jsou adresáře, které se vytvoří, stáhnete-li si projekt k sobě na disk. Pokud tedy máte umístěn projekt ve více adresářích, VSS to bude prezentovat jako několik projektů. Kromě jiného je potřeba zadat pracovní adresář na vašem lokálním disku, kam se budou soubory stahovat – lze nastavit pro každý projekt-adresář. Nyní již zbývá mít nějaké soubory, které jsou součástí projektu. Ty lze do VSS vložit a od té chvíle k nim mohou ostatní uživatelé. Na stejném obrázku lze vidět soubory, které jsou zamknuté pro ostatní uživatele, kdo je zamknul a datum, kdy byl soubor naposledy do databáze zařazen. Soubory, které nemá nikdo zamknuté, si můžete sami zamknout pro svoji potřebu a začít editovat.

Pokud například patříte mezi testovací pracovníky, je potřeba, abyste měli na disku vždy aktuální soubory. Ani tohle není problémem. VSS vám na disk stáhne všechny soubory nejposlednější verze, které potřebujete a je úplne jedno, zda jsou zamčené či nikoliv. Bývá dobrým zvykem dávat do VSS pouze takové verze souborů či dokumentů, které jsou pro daný úcel použitelné.

Velmi dobrou vlastností, na kterou jsem ze začátku nadával, je nastavování atributu Read-only souborům, které nemáte zamknuté. Pokud si soubor totiž zapomenete zamknout, může vám jej někdo jiný zabrat pro sebe, což ještě není to nejhorší, ale pokud se budete snažit dostat jej do databáze (check in), musíte to složitě obcházet. Díky nastavenému atributu se vám soubor nepodaří editovat a vy víte, že jste si jej musíte nejprve zamknout (check out).

Práce na projektu není krátkodobá, naopak, můžete na něm pracovat týdny či měsíce až roky. Takový informační systémy pro velké podniky mohou být navíc ještě neustále obnovované dle potřeb podniku. Provádíte-li každý týden upgrade svých programů a občas se může stát, že se něco nepovede. Pak za vámi přijde uživatel programu a pokud nebude ve vašich silách problém odstranit během pár minut, budete potřebovat dát mu alespoň minulou verzi. Nebo tu, co měl před dvěma měsíci. Žádný problém pro VSS. Necháte si vylistovat historii souboru (viz obrázek 2) nebo celého projektu a vybrat si soubor(y), který(é) potřebujete. Horší je to se stažením celého projektu – zde VSS trošku pokulhává. Pokud jste si ho předtím neoznačili „nálepkou“ (Label), musíte stahovat každý soubor zvlášť. Jinak jej lze stáhnout vždy k dané nálepce. Bohužel v praxi bývá potřeba stahovat k určitému datu častější.

VSS disponuje užitečným nástrojem pro porovnávání různých verzí souborů. Na obrázku 3 lze vidět vizuální rozlišení mezi změnou, smazáním či přidáním textu na řádce. Je snad jasné, že pro jiné než textové soubory tato činnost nemá smysl.

Asi poslední akce, kterou běžně uživatel provádí, je vyhledávání informací v databázi. Pokud pracujete na více souborech ve více projektech, můžete ztratit přehled, co vše máte zamknuté, nebo naopak není v lidských silách si pamatovat umístění velkého počtu souborů v ještě větším počtu projektů. Hledání lze omezit na jeden projekt, na projekt včetně podprojektů nebo na všechny projekty. Výsledek je zobrazen v pravé části hlavního okna a vy nyní máte možnost vložit do databáze všechny vaše zamknuté soubory a uvolnit je pro ostatní uživatele nebo si je uzamknout a pracovat na nich.

Další vlastnosti

Není neobvyklé, že jeden soubor je součástí více projektů. I na tohle VSS myslí a umožňuje sdílení souboru (sharing) v rámci více projektů. Pokud v souboru na jednom místě provedete změny, budou ihned po vložení nové verze do databáze vidět ve všech ostatních projektech. Pro paralelní vývoj umožňuje VSS operace rozdělení projektu do více větví a následné spojení dohromady. Vyvíjíte-li webové stránky, máte zajištěno, že budou automaticky kontrolovány odkazy, můžete si nechat vygenerovat mapu serveru a publikovat obsah přímo na webový server.

Administrátorské nástroje

Základním nástrojem, o kterém jsem se zmínil již v úvodu, je VSS Administrator, díky kterému máte databázi jako na dlani. V základním okně je zobrazen seznam uživatelů, jejich práva k databázi a stav, zda jsou k databázi přihlášeni či nikoliv. Práva jsou jen dvě: čtecí a zapisovací a platí pro celou databázi, což může být omezující v případech, kdy máte v databázi více projektů a ke každému musí mít uživatel jiná práva. Tento stav lze obejít vytvořením většího počtu databází. Velmi důležitou částí je archivace a v případě poškození obnova dat v databázi – k této operaci existují i řádkově orientované ekvivalenty. Samozřejmostí je sledování činnosti uživatele a jeho zápis do protokolovacího souboru. Užitečný je diagnostický program, který zjistí případné nedostatky a pokud je to v jeho silách, dokáže nesrovnalosti opravit.

Integrace VSS do vývojových nástrojů

Ačkoliv není VSS vázán na žádný vývojový nástroj a umožňuje správu verzí zcela libovolných typů souborů, dá se integrovat do ostatních produktů firmy Microsoft. Jsou to například Visual C++, Visual J++, Visual InterDev, Visual FoxPro, FrontPage nebo Access. Jak jsou ale na tom vývojáři pracující v Delphi nebo C++ Builderu firmy Borland? Na ty bohužel Microsoft nepamatoval, ale potěšující je fakt, že takové nástroje existují od jiných firem a jsou k dostání na Internetu.

Jak se s VSS pracuje?

VSS je nástroj, se kterým mám již nějaké zkušenosti z praxe. Je zde několik věcí, které mi chybí nebo které nepovažuji za příliš štastne provedené. Základní problém je stahování projektu, které nelze k danému datu, ale pouze k „nálepce“. VSS nedokáže vyhledávat v projektu, který byl aktuální v určitém datu. Problémy jsou také s pracovními adresáři. Ke každému projektu lze nastavit pracovní adresář na úplne rozdílná místa. Pokud však chcete například stáhnout poslední verzi nadřazeného projektu, stáhnou se soubory do podadresářů pracovního adresáře nadřazeného projektu.

Ačkoliv se zdá, že si na produkt stěžuji, není to úplne pravda. Pokud se dokážete vyrovnat s některými (chybějícími) vlastnostmi, bude vám produkt velmi dobře sloužit. Po celou dobu, co jej používám se nestalo, že by havaroval nebo se dostal do situace, ze které by nevěděl jak dál. VSS jsem provozoval jak na Windows 95, tak na Windows NT 4.0 i na Windows 2000 RC 2. Pro stejnou platformu existuje ve stejné cenové kategorii ještě jeden produkt (Borland Team Source, viz recenze Delphi 5 v Softwarových novinách 12/99), který ovšem není dle mého názoru produkt, se kterým by se dalo rozumně pracovat.

Obrázky

Základní obrazovka VSS hodně připomíná průzkumníka
Porovnání a barevné odlišení dvou verzí jednoho a toho saméh
Historie souboru od jeho založení

Do rámečku mimo text: Sériový a paralelní model

Pokud má nějaký tým lidí pracovat na projektu, je potřeba zajistit konzistenci dat, konkrétně jednotlivých souborů a dokumentů. Chce-li více pracovníků upravovat jeden a týž soubor, nastává problém. První řešení v podobě sériového modelu znamená zamknout si soubor pro sebe a ostatní musí čekat na uvolnění. Druhé řešení spočívá v poskytnutí kopie souboru všem, kteří jej chtějí upravit a následný pokus o sjednocení změn do nové – aktuální – verze. To s sebou může přinést problémy. Oproti sériovému modelu, jehož jedinou nevýhodou je právě neumožnění pracovat více lidem na jednom souboru, je sjednocování v paralelním modelu často ruční práce, která vyžaduje přítomnost všech, kteří na souboru pracovali. Jako příklad mohu uvést následující modelovou situaci: ve zdrojovém souboru existuje konstanta, která má hodnotu 3. Jeden pracovník se rozhodne změnit ji na 2 a třetí na 4. Co je nyní správně? To již musí rozhodnout ruční úprava při sjednocování. Na druhou stranu je pravda, že by se tohle v dobře řízených týmech stávat nemělo a paralelní model by neměl být překážkou. Osobně však preferuji sériový model, kde má každý jasno, kdo na čem pracuje.

Slovníček pojmů

  • VCS (Version Control System) – nástroj, který zajišťuje nějakým způsobem správu verzí dokumentů
  • Databáze – v tomto případě se jedná o uložené jednotlivé soubory, které náleží projektu
  • Projekt – jedná se o označení skupiny souborů, které jsou v jednom adresáři
  • Check In – operace, která vloží upravený soubor zpět, v případě sériového modelu odstraní zámek a umožní ostatním, aby jej mohli upravovat
  • Check Out – operace, která „vyzvedne“ soubor z databáze a v případě sériového modelu jej zamkne

Plusy

  • Intuitivní prostředí
  • Stabilita
  • Možnost integrace do vývojových nástrojů

Mínusy

  • Nelze hledat v určité verzi projektu
  • Málo možností stahování projektu
  • Nelze stahovat projekt k datu
  • Nedostatečná možnost nastavování práv

Závěr

Rozumný nástroj pro správu projektů, pokud nemáte příliš vysoké nároky.


Tento článek byl napsán pro časopis Softwarové noviny 4/2000.

Upozornění: tento text neprošel redakční úpravou, takže je tak, jak byl napsán včetně případných chyb. Žádná část tohoto článku nesmí být použita bez předchozího souhlasu autora.

Seznam mých dalších článků je v tomto přehledu.



Související články:
PVCS Version Manager (05.08.2005)
Araxis Merge 2001 Professional (03.08.2005)
Systém podpory řízení konfigurace (27.06.2005)

[Akt. známka: 0 / Počet hlasů: 0] 1 2 3 4 5

Celý článek | Autor: Slávek Rydval | Počet komentářů: 0 | Přidat komentář | Informační e-mailVytisknout článek

  Čtenář
Jméno:
Heslo:


Registrace | Info
Zapomenuté heslo

  Vyhledávání

Hledej
na Nawebce!


Rozšířené vyhledávání

  Kalendář
<<  Září  >>
PoÚtStČtSoNe
  1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30    

  Reklama


rkEdit Oracle Profiler
rkEdit Oracle Profiler