Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Vlákno názorů k článku
GIT: správa repositářů

Jackie Chan
Jackie Chan (neregistrovaný)
9. 5. 2008 16:44

CVS + git

Vie niekto ako "najlepsie spojit" cvs s gitom? Situacia: Vsetci v teame (vratane mna) pracuju "normalne" v CVS, git pouzivam zatial iba ja. Moj sposob prace je takyto:

# chod do privatneho git_master_branch kde je aktualny stav z CVS
git-checkout master
# stiahni pracu od kolegov...
cvs "get clean copy"
# git-commit prace kolegov do mojho git_master_branch
git-commit -a ...
# chod do privatneho git_devel_branch
git-checkout devel
# git-merge vlastnej prace zo stavom v CVS...
git-merge master
# ... nasledny git-commit zmergovaneho
git-commit -a...

# vlastny vyvoj - editacia zdrojakov

# git-commit vlastnej prace do mojho git_devel_branchu
git-commit ...
# cvs-commit z git_devel_branchu
cvs commit ...
# chod do git_master_branch (tu chem mat aktualny stav ako v CVS)
git-checkout master
# stiahni vlastne pracu z CVS...
cvs "get clean copy"
# ... a nakomituj si ich do git_master_branchu
git-commit -a ...

ma niekto lepsi system prace?
Karel Novotný
9. 5. 2008 18:27

Re: CVS + git

zkus pouzit
git-cvsimport
git-cvsexportcommit

stejne tak pro svn by melo byt
git-svn
git-svnimport
Palo
Palo (neregistrovaný)
9. 5. 2008 22:02

Re: CVS + git

Ja nemam nic proti git ale naco je toto dobre? Ak raz mate CVS naco potrebujete GIT? Neviete si zivot komplikovat inac?
Ondra "Satai" Nekola aura:82
9. 5. 2008 22:56

Re: CVS + git

Pokud clovek pracuje na vice branchich, tak uz to nejspis vyznam ma.
Jackie Chan
Jackie Chan (neregistrovaný)
9. 5. 2008 23:04

Re: CVS + git

Robim v jave, pouzivam eclipse a typicky mam dlhodobo rozpracovanych 4-5 uloh. To je asi 50 naraz zmenenych suborov. Ak chcem jednu ulohu uzavriet musim pri commite kazdeho suboru davat pozor ci tam nie su aj zmeny pre inu ulohu - aby som nenakomitoval aj to co tam nepatri, resp. naopak aby aby som nenacommitoval prilis malo - na chybajuci *.gif ma proste compiler neupozorni.
Este krajsi priklad: Zmena v API vygeneruje 20 kompilacnych chyb a kazdu chybu treba osobitne riesit. Ak mi do toho pride nieco naliehave tak musim rozpracovane zmeny zahodit aby som mal vobec kompilovatelny workspace a mohol sa zacat venovat novej ulohe.
Skusal som to riesit vytvaranim si kopii workspacov - vytvorenie kopie resp. prepnutie do ineho workspace trva asi 3-4 minuty, synchronizacia s CVS repozitory je takisto pomala.
Vytvaranie vlastnych branchov v CVSku si nemozem dovolit - iba by to provokovalo zbytocne zmetky a otazky od ostatnych clenov teamu.
Git mi vsetky(!) tieto problemy riesi(!) - okrem toho ma git niekolko dalsich omnoho vyznamjesich vyhod ktore som nespomenul a CVSku sa o nich ani nesniva. Napis ak ta to zaujima - ja pre dnesok koncim - idem chlastat.
Palo
Palo (neregistrovaný)
9. 5. 2008 23:37

Re: CVS + git

OK, vdaka za vysvetlenie. Ja ked robim na niecom novom tak robim na HEADe alebo novom branch. Ked nieco musim zafixovat aj tak musim vychadzat z uplne ineho TAGu alebo branch-u. Takze si koli tomu fixu musim checkout cely stary strom. Obvykle to riesim ako pises novym checkoutom. Aj tak si neviem predstavit ako to riesis v spolupraci s GITom lebo nakoniec to aj tak musis checkout z CVS a commit tamtiez. Iba si naviac musis pamat niekde nejake premostenie medzi verziou CVS a v GITe. Podla mna riskujes problem lebo ked napr. opravujes nieco stare, checkoutnes z CVS a zle checkoutnes z GITu mozes si narobit problemy.
Fakt si viem predtavit ze by som robil s GITom ale aby som este k tomu permanentne nieco vkladal a vyber z CVSka tak to my pride kontraproduktivne z moznostou velkej chyby.
Ondra "Satai" Nekola aura:82
10. 5. 2008 7:33

Re: CVS + git

Novy checkout nepomuze, pokud je potreba pohodlne mergovat mezi branchema.
Ale jinak mate pravdu, to CVS je v dane situaci vazne uzke hrdlo ;)
Zasílat nově přidané příspěvky e-mailem