Programátori, od určitého stupňa náročnosti projektov, zväčša potrebu
nejakého systému na ukladanie rôznych verzií zdrojových kódov, alebo systému, ktorý by
viacerým umožnil súbežnú prácu nad projektom (bez rizika vzájomného
poprepisovania si práce) pociťujú. A nie len oni — na Internete nájdete aj
niekoľko návodov na používanie CVS na sledovanie verzií dokumentov písaných v
textovom, ci HTML formáte. Predpokladám, že aj z tohto dôvodu sa v konferencii o PSPade opakovane objavujú požiadavky na doprogramovanie
rôznych mechanizmov na zamykanie práve editovateľných súborov a pod.
Zdá sa to ako logická cesta, ale nie je: sledovanie a archivácia rôznych
verzií projektu, koordinácia, zlučovanie a porovnávanie zdrojových kódov
napísaných rôznymi autormi projektu, mechanizmy, zabraňujúce tomu, aby si dvaja
programátori neprepisovali vzájomne svoju prácu — to všetko je parketa práve pre
špecializované programy na správu verzií.
Necítim sa byť žiadnym „Guru“ v používaní ani CVS, ani TortoiseCVS, ani
žiadneho iného software na správu verzií. Jednoducho to používam a slúži mi to.
Nepochybujem, že sa to dá používať aj lepšie a efektívnejšie.
Celý tento počin (obrázkový návod)
vznikol ako doplnok niekoľkých správ v konferencii o textovom editore PSPad. Povedal som si, že by sa
niektorým týmto
mailom páčilo v blízkosti svojho dôsledku — svojho dcérskeho (či synovského) komixu.
Tak som ich sem narcisticky vystavil.
(Mimochodom: ak sa to niekomu zdá až priveľmi česko–slovenské a má s tým
nejaký problém: tak je to jeho
problém.)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
From: JanoSk <czechforum@pspad.com>
To: Forum PSPadu <forum@pspad.com>
Date: Monday, April 25, 2005, 3:34:10 PM
Subject: Uzamceni souboru pri otevreni [f=1:i=4714:t=4656]
Files: <none>
--====----====----====----====----====----====----====----====----====----===--
<http://forum.pspad.com/read.php?f=1&i=4714&t=4656>
----------------------------------------------------------------
>>Mne osobne to hlavne pripada drahe.
Krome komercniho SourceSafe jsem tady porad uvadel o produkty nemlich
stejne drahe, jako samotny PSPad (neboli „catármo“)...
>>Doporucte prosim nejaky CVS zdrama
Doporuceni najdes, kdyz si znovu prectes cely tento thread (staci moje
odpovedi).
Ale OK, muzu to napsat jeste jednou:
kombinace CVSNT (jako serveru pro skupinu)
http://www.cvsnt.com/cvspro/
a TortoiseCVS (jako velmi prijemneho rozhrani pro praci z CVSNT primo z
Pruzkumnika.):
http://www.tortoisecvs.org/
TortoiseCVS lze pouzivat i bez toho serveru (obsahuje potrebne minimum z
CVSNT ve vlastni instalaci), ale to neni mysleno
„pro team
“.
Nekterym lidem nevyhovuje filozofie CVS (a tedy ani jeho klonu CVSNT). Ti
se orientuji na
SubVersion (a klidne muzou, jako FrontEnd, pouzivat
TortoiseSVN (
http://tortoisesvn.tigris.org/).
Diky tomu, ze vsechny mutace CVS pracuji a priori s prikazovym radkem na
pozadi (i TortoiseCVS vlastne, v konecnem dusledku, generuje cmdline
prikazy pro cvs.exe), lze snadno nektere prikazy CVS (CVSNT) integrovat i
do PSPadu.
Jak TortoiseCVS, tak CVSNT (i SubVersion, jestli se nepletu) je FREE,
neboli i ke komercnimu uzivani ZADARA (i to uz jsem tady psal).
Pro porovnavani a prime slucovani ruznych verzi souboru pouzivam WinMerge
(rovnez free). Sice PSPad ma docela dobre propracovane porovnavani souboru
-- ale WinMerge je, v tomto ohledu, preci jen lepsi (dovoluje editovat
prave porovnavane soubory) ;-)
Nejaka dokumentace se da najit v cestine, hodne je toho anglicky.
Pro stouraly: porovnani CVSNT a SubVersion je, napr., tady:
http://www.pushok.com/soft_svn_vscvs.php
Mimochodem, posledni uvedene stranky patri firme, ktera vyrabi vyborny (a
IMHO prijemne levny)
interface mezi VisualStudio a CVSNT...
a klidne si o tom muzeme povidat dal... ;-)
--
PSPad freeware editor http://www.pspad.com
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
From: JanoSk <czechforum@pspad.com>
To: Forum PSPadu <forum@pspad.com>
Date: Tuesday, April 26, 2005, 4:38:01 AM
Subject: PSPad a CVSNT [f=1:i=4729:t=4729]
Files: <none>
--====----====----====----====----====----====----====----====----====----===--
Dobry den,
Toto tema tedy zacinam kvuli tomu, aby zde vznikl nejaky sumar typu a
zkusenosti pro praci s CVS.
Proc CVSNT -- protoze:
- PSPad je editorem pro Win
- CVSNT je klonem CVS pro Win
- takze mi prave tato kombinace pripada nejprirozenejsi ;-)
> Mohl bych poprosit o jednoduchy nastin prace v PSPadu s nejakym CVS?
CVS je dost rozsireny verzovaci system (nechci kecat, ale mam pocit,
ze je dokonce povazovany za standart pri vyvoji OpenSource) a existuje
k nemu hodne navodu.
Ono, kdyz je neceho hodne, tak clovek nemusi mit cas se tim vsim
prohrabavat...
Takze jednim ze zameru tohoto navodu je nejaky vyber potrebnych
informacnich zdroju. Budu rad, kdyz me nekdo upozorni na neco, na co
jsem sam nenarazil (nebo zapomel).
Cast dokumentace bude, samozrejme, v anglictine. Pokud nekto pomuze,
muzeme sem udelat nejake preklady...
Tedy potrebny SW:
=================
CVSNT:
http://www.cvsnt.com/cvspro/
pokud by mel nekdo koprivku z MSI installeru, muze si stahnout
klasickou instalacku tady:
http://web.telia.com/~u86216177/cvsntinstaller.html
TortoiseCVS:
http://www.tortoisecvs.org/
WinMerge:
(neni nutno, do uricte miry supluje pouzivani funkce
Porovnavani souboru v PSPadu):
http://winmerge.sourceforge.net/
Mno, pak existuje nekolik nastroju, kterymi se clovek muze hrabat
primo v repository (teda v databaze) CVS. Je toho vic (i pro Apache a
PHP). Ja obcas pouzivam CVS Surfer:
http://sourceforge.net/project/showfiles.php?group_id=88210&package_id=94403
K cemu je co urceno:
====================
CVSNT
-----
je server, ktery spravuje databazi, do ktere se ukladaji verze vasich zdrojovych
kodu,
popisy zmen zdrojovych kodu a komentare k nim.
CVSNT muzete klidne pouzivat bez jakehokoli dalsiho SW (teda i bez
TortoiseCVS) -- pokud mate radi prikazovy radek ;-)
TortoiseCVS
-----------
Toto je velmi prijemna graficka nadstavba pro pouzivani CVS, ci CVSNT.
Literatura o CVS sice casto opomina TortoiseCVS, resp. vyzyva alespon k
soubeznemu pouzivani program WinCVS, ale tomu jsem nikdy neprisel na chut a
nejak se mi bez neho dari existovat.
Co to udela: doplni funkce pro ovladani CVS primo do Pruzkumnika
Windows (BTW - tim padem lze pouzivat TortoiseCVS i z prostredi
TotalCommanderu ;-))
CVS surfer (a jemu podobne nastroje)
------------------------------------
Mne zname nastroje na rutinni praci s CVS nenabizeji pohled do repository.
Tedy nedavaji nejakou pohodlnou moznost, jak si prohrabnout databazi
CVS a podivat se, co v ni vlastne je.
A priori nabizeji pohled na kopie souboru spracovavanych na lokalu
(SourceSafe od MS to dela prave obracene: nenabizi pohled na lokalni
soubory, ale na obsah repository - ale o SourceSafe, ani o jinych
komercnich systemech, se tady hovorit nechystam).
Kvuli tomu vzniklo par nastroju (vetsinou bezicich pod nejakym
webserverem), ktere nahled do repository umoznuji.
CVS Surfer je jednim z nich.
Co se tyce navodu na pouziti
============================
Pro zacatek velmi strucne:
- musite umet rozchodit server CVSNT
(moznost lokalnich repository pri pouziti TortoiseCVS vynechavam)
- musite umet rozchodit TortoiseCVS
- a, pripadne, „zaintegrovat“ pouzivani CVS.EXE do PSPadu.
Co se tyce nejake logiky ovladani - viz jeste par poznamek na konci
tohoto mailu.
Doporuceni
----------
udrzujte si na disku jenom jedno cvs.exe (dostupne z PATH), nebo si
alespon hlidejte, aby vsechny cvs.exe byly stejne verze.
Ono CVSNT se dost rychle vyviji a mnohdy jsou mezi verzemi dosti
radikalni zmeny (ktere mohou, byt nemusi, zpusobit vzajemnou
nekompatibilitu).
Nekolik linku
-------------
Pro zacatek sem davam par linku, na kterych lze nastudovat, jak „ten
cely cirkus rozbehat“:
Doporucuji nejdrive prolistovat tento text:
http://docs.zf.jcu.cz/programming/tools/cvs_manual.html
ve kterem sice neni popsana instalace, a pouzivani CVS je popisovano
pouze z hlediska prikazove radky, ale je to velmi dobre povidani na
tema, co se da od CVS ocekavat (neboli: „trochu teorie na uvod“ ;-).
Mimochodem, umisteni tohoto textu se dost casto, buhviproc, meni --
jsem zvedavy, jak dlouho bude na vyse uvedenem miste (vytisknete si to
radeji...).
Velmi pekny navod k instalaci CVSNT serveru je tady:
http://www.cvsnt.org/wiki/InstallationTips
Je to sice pro starsi verze, ale nevadi.
Navod na pouzivani TortoiseCVS roste zde:
http://www.tortoisecvs.org/UserGuide_en.chm
http://www.tortoisecvs.org/help.html
No, a protoze CVSNT umi pouzivat i ucty z ActiveDirectory, resp. z NT
domen, bude spravce mozna zajimat tohle:
http://www.cvsnt.org/wiki/SetAcl
> Co je mysleno tim integrovanim? (v kontextu: do PSPadu)
Davam sem kopii odpovedi z jine zpravy (at to mame hezky pohromade):
================Cut==========================
a) muzes si nadefinovat CVS (nebo CVSNT, ci jiny verzovaci
system, ktery umi pracovat s CMDLINE) jako jeden z externich programu pro
dany zvyraznovac.
Napriklad:
cvs.exe commit %name%%Ext%
mi dela Commit aktualniho souboru do CVS primo z PSPadu.
Jeste Te donuti napsat k tomu komentar ;-)
b) protoze zde uvadene TortoiseCVS je vlastne rozsirenim standardniho
Pruzkumnika z Windows, a protoze kontextove menu z Pruzkumnika z
Windows je mozne, do urcite miry, pouzivat i z Projektu PSPadu, muzes
vlastne primo z PSPadu pouzivat TortoiseCVS...
c) a protoze PSPad ma funkce na porovnavani souboru, muze se (zase pro
zmenu) PSPad integrovat do TortoiseCVS, jako externi program pro
prohlizeni zmen (muj nazor na WinMerge versus PSPad uz tady byl ;-))
d) toto neni sice zalezitosti nejake prime integrace s PSPadem, ale
byva to prijemne: pokud si do komentaru ve zdrojaku vlozis znacky
jako $Id$, nebo $Revision$ (neboli vhodna keywords), bude vam CVS vkladat primo
do textu cislo
verze, pripadne autora poslednich zmen a pod.
================cut==========================
Co se tyce nejakych „filozofickych nahledu“:
a) na strane serveru udelate jenom instalaci, pripadne nastaveni
pristupovych prav, ale CELE OVLADANI CVSNT SE DEJE ZE STRANY KLIENTA
(teda ovlada se to ze strany TortoiseCVS)
b) vsechny verzovaci systemy pocitaji s tim, ze regerencni original je
v repository verzovaciho systemu (v tomto pripade v CVS).
Vyvojar by si mel, pred zahajenim prace, stahnout aktualni verzi
zdrojaku do slozky na svem disku a po ukonceni prace, po ulozeni zmen
do repository, muze svoji lokalni kopii zdrojaku klidne smazat
(nemusi, muze ji tam klidne nechat, ale, zejmena pokud dela vice lidi
na stejnem projektu, mel by ji druhy den z CVS aktualizovat).
c) (nejenom) CVS pocita s tim, ze kazdy vyvojar pracuje _na_sve_ kopii
zdrojovych kodu. Tedy ze neupravuje vice lidi fyzicky jeden soubor,
ale kazdy svou kopii u sebe. K sjednoceni zdrojaku dochazi prave
pomoci CVS.
Nicmene - pouzil jsem CVSNT a TortoiseCVS i v pripade, ze jsme jednou
s kolegou upravovali zdrojaky primo na webserveru (z casovych duvodu
se nam zdalo neucelne ladit si vlastni pracovni kopie instalace
webserveru, na kterem se vyuzivali funkce nekolika komponent puvodniho
dodavatele). Diky tomu, ze jsme se prihlasovali kazdy pod svym kontem,
meli jsme, diky CVS, jak popis toho, kdo naposledy menil ktery soubor
(CVSNT umi pouzivat informace o aktualne prihlasenem uzivateli),
tak moznost navratu ke starsi verzi, pripadne vyber vhodnejsich zmen z
historie, pokud jsme si nahodou vzajemne prepsali svoji praci. Bylo to
sice pouzivani ponekud mimo spravnou koncepci vyuzivani CVS (i vyvoje
vubec: my ty upravy delali na ostrem serveru ;-)), ale svuj ucel to
splnilo.
Zatim, z me strany, tolik.
Ptejte se, prip. doplnujte, dle vlastni libovule...
--
Best regards, Jano Skokanek
mailto:MList@seznam.cz
--
Prispevek zaslan emailem. <http://www.pspad.com/forum/read.php?f=1&i=4729&t=4729>
PSPad freeware editor http://www.pspad.com
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=