Chápu se výzvy a mám tu požadavek na obsah dalšího dílu (tzv. request for comment :)):
Zajímala by mě správa větví programu v CVS, konkrétně případ, kdy mám produkční a testovací verzi systému, které se drobně liší (připojení k různým databázím, volání různých knihoven, apod. - tyto změny jsou konstantní). Vývoj provádím na testovací verzi, po odladění chci změny promítnout do ostré verze, ale tak, aby konstantní změny zůstaly nedotčeny. Pomůže mi v tom CVS? (Věřím, že ano...).
Jinak pěkný článek, hezký styl...
Martin
CVS samotne k tomu obavam se prilis nepomuze (alespon AFAIK), v CVSku z mergovani nejdou excludnout (vyjmout, chcete-li) explicitne nejake zmeny. Bud oddelte konfiguraci od zdrojaku (nejlepsi reseni), nebo muzete zvlast udrzovat patch proti produkcni a testovaci verzi, ktery tu konfiguraci upravi dle potreby. Ale radeji dejte konfiguraci uplne nekam pryc, kde nebude zavazet.
Musis pouzivat logicky jmena. Ja osobne datbazoby servery identifikuju jako kazdy jiny servery, pres DNS jmena (a na development serverech je upravenej hosts soubor ukazujici na vyvojovy servery), ruzny knihovny budto tak ze na vyvojovym serveru sou debug knihovny pod tema stejnejma jmenama anebo pokud chces mermomoci ruzny tak si udelej linky na prave pouzivany... Hardcodovat takovyhle veci do kodu a pak mit dve verze je nesmysl, budes v tom mit zmatek (a treba my mame v praci minimalne tri ruzny setupy, ne jen dva).
Jestli muzu mluvit za sebe: 100x NE a jeste vic!!!
Cim driv takovy clanek vyjde tim lip, protoze uzivatele a experimentatori aspon budou vedet jestli to (CVS) maji zkusit nebo ne.
Navic, osobne mne tento pohled docela zajima -
treba zase zjistim ze vsechno delam blbe... ;-)
Ano tla. Tla mi prijde jako hodne obskurni software. Pokousel jsem se rozbehnout alespon klienta, kdyz jsem potreboval zdrojove kody pro wisp. Nicmene jsem to po nekolika neuspesnych pokusech vzdal. Docela by me zajimalo srovnani tla s cvs a taky, zdali jste to nekdo jiz pouzival. Mozna by se to veslo take do clanku o nevyhodach cvs, treba proc je tla lepsi (jestli vubec).
Osobne k necemu takovemu smeruji pote, co se vyporadam s CVS, ovsem moje nabizena odpoved bude zrejem rozvedene "pokud mozno nikdy, ovsem nekdy neni zbyti" ;-). Ja snad behem tohoto tydne dojedu a Johance nasubmituju zbytek CVS, pak by ses do toho mohl vlozit se clankem ty a ja bych pak mohl serii pokracovat dal (vice mene na tema "a jak se to da delat lepe"). Kdyztak se muzeme podrobneji domluvit mailem.
Ten popis pristupu pres ssh je nejaky zmateny. Pri teto metode se totiz server vubec nepouziva a proste se jen vyuzije faktu, ze ssh umoznuje spoustet vzdalene programy, tedy
cvs -d 'ext:user@nekde:/dir' checkout
je ekvivalentni
ssh user@nekde 'cvs -d '/dir' checkout'
To neni uplne presne. CVS totiz na druhe strane _vzdycky_ spousti prikaz "cvs server" a s tim pak komunikuje sifrovanym kanalem pomoci CVS protokolu.
Tenhle pristup ma tu vyhodu, ze nekterym uzivatelum muzete dat jen CVS pristup bez shellu. Staci do jejich ~/.ssh/authorized_keys pred samotny klic pridat:
command="cvs server" ssh-rsa AAAAB3NzaC...
Osobne bych s tim tvrzenim ekvivalence byl ponekud opatrnejsi (jak podotkl Michal Ludvig, spousti se cvs server, pouhe cvs checkout by vycheckoutovalo modul do nejakeho adresare na vzdalenem serveru a to nam moc nepomuze). Ovsem jinak se pokorne sklanim a omlouvam, mel jsem explicitne zminit, ze v takovem pripade neni nutne spoustet na serveru pserver.
Trochu jsem v clanku take postradal rozebrani problematky bezpecnosti z hlediska povoleneho pristupu k pocitaci.
Dat nekomu read-only pristup do CVS (pres pserver nebo ssh) je docela bez problemu (pokud pomineme chyby v CVS).
Bohuzel co je horsi, write pristup do CVS znamena takrka ekvivalent shellu, nebot uzivatel muze pres ruzne wrappery (skripty, ktere se mohou napriklad pri commitu poslat mail s informacemi o commitovanych zmenach) dostahnout spusteni jim urcenych prikazu. Detaily jsem nezkoumal, mozna je cesta jak nakonfigurovat CVS tak, aby toto nebezpeci bylo eliminovano, ale pravdepodobne za cenu omezeni funkcnosti. Jestli budu psat slibeny clanek, slibuji, ze detaily prozkoumam :-)
teraz ked som naucil polku firmy vratane ekonomov klikat vo WinCVS sa dozviem ze existuju aj progresivnejsie nastroje :((
akeze to vlastne su ?
inak neviem lidi ako vy ale ja ked volim soft co vo firme nasadime tak sa na freshmeate orientujem podla popularity (a preto mame teraz cvs, mantis a pod.) .. co pouzivate vy, ake kriterium ?
Ahoj vsichni.
Mam problem s pristupem na cvs pres sit (pserver). Vubec jsem nenasel ve svem reposity adresari soubor passwd. Tak jsem jej vytvoril a naspal jsem do nej:
bernos:moje zakodovane heslo:bernos
No a vubec se nemuzu pripojit. Porad to pise login aborted a connection refused. Soubor passwd je ulozen takto:
/home/bernos/testrepCVS/CVSROOT/passwd
Nevite nekdo, jak to mam nastavit, aby to jelo?