Správičky 2 174 Blogy 553 Fórum 13 339

Zaujímavosti zo sveta

03.02 C++ AMP Open Specification
S.Somasegar
As an industry trend, advancement in heterogeneous hardware has progressed at a rapid pace.  This in turn has fueled developer desire…
03.02 Group Policy Search
blogCZSK
Znalost a používání Group Policy patří k základům práce většiny administrátorů ve sv…
02.02 Odkazy z prohlížeče – 2.2.2012…
atasoft
Hardware Arduino Shield List – přehled “shields” pro Arduino – velmi rozsáhlý, včetně odkazů apod. STACKABLE LED MATRIX 8x8 – modul o…
02.02 Nová e-kniha: Základy databázo…
vyvojar
Mezi volně stažitelné, české nebo slovenské elektronické knihy (http://www.msdn.cz/knihy), jsme přidali prvn&iac…
02.02 Jazyk XAML
Co to vlastně je XAML? Proč je tak důležitý pro Windows Presentation Foundation? Jakým způsobem se zapisuje a co reprezentuje? Proč je tento…
02.02 Robotický den s .NET Micro Fra…
vyvojar
Velmi často potřebujete přerušit běh hlavního programu v reakci na nějakou důležitější událost, např. najetí na hranici arény při mini sumu.…
02.02 Setkání Windows User Group – ú…
blogCZSK
Díky spolupráci s WBI Learning pro vás začínáme opět připravovat pravidelné Hands on Laby, tedy pr…
01.02 Virtuální metody
V dnešním dílu jsou na řadě tzv. virtuální metody. Naučíme se tedy, co to virtuální metody jsou a jakým způsobem se používají. Mimo to se al…
01.02 ISA Server 2006 – konec podpor…
blogCZSK
Pokud ve vašem prostředí máte nasazen a používáte ISA Server 2006, je nejvyšší čas z…
31.01 100x telefon Nokia Lumia pro v…
vyvojar
Máme tu další zajímavou akci pro vývojáře aplikací pro Windows Phone 7! Pokud chcete z&iacu…
31.01 Microsoft mě znechucuje čím dá…
dotnet
Není tomu dávno, co jsem reagoval na situaci ohledně pravděpodobného směru vývoje Microsoftu. Dnes má trpělivost opět dosáhla mezních hranic…
31.01 Záznam a prezentace třetího dí…
blogCZSK
V druhém dílu infrastrukturní části System Center akademie se Jan Matějka zaměřuje na Configuration Manager 2012…
30.01 Robotický den s .NET Micro Fra…
vyvojar
V předchozím článku jsme si ukázali, jak můžeme ovládat digitální výstupy. Dnes budeme LED ovládat na základě vstupů ze senzorů. Senzorů je …
30.01 Série krátkých instruktážních …
blogCZSK
Kolegové z Office divize se vytáhli a nato čili na tři desítky krátkých instruktážních vide…
30.01 TechDays in Belgium and Nether…
ScottGu
I’ll be presenting at the upcoming Belgium and Dutch TechDays next month.  I’ll be doing three tech talks at each of the events: Ov…
27.01 ORA-12712 on NLS_CHARACTERSET …
dotnet
I tried to change character set in my oracle database because of Russian localization, I tried command: ALTER DATABASE CHARACTER SET AL32UTF…

Aký je Váš obľubený version control nástroj ... a aký Vám je predpísany? :-)

T - 9. 3. 2010 20:36 - 1561 views

Keď už Vlko spomínal, že Martin Fowler patrí medzi mojich obľúbencov a keď už načrel do problematiky voľby source control nástroja - Martin publikoval dva články k tejto téme. V prvom zhrnul názory a preferencie ohľadom VCT ľudí vo svojom okolí v druhom pridáva vyhodnotenie ankety, ktorú k tejto téme uskutočnil prostredníctvom e-mailov. Trošku ma prekvapilo, aké zle povedomie(alebo nepovedomie) je o Team Foundation Server(možno len Martin nemá dosť kamoššov medzi MS pozitívnymi ľudmi). Nepoviem Vám, kto anketu vyhral, kliknite si! :-) Napoviem len, že Vlko sa bude tešit ... a tým som to asi aj nakoniec prezradil :-D

Možno by sme si mohli urobiť anketu aj medzi návštevníkmi aspnet.sk portálu s použitím Martinovych kritérií :-)


Tomáš Zeman

Microsoft Certified Solution Developer

MCP ID: 2155385

Článkov: 0, Správičiek: 183, Príspevkov vo fóre: 2003, Príspevkov v blogu: 45, Bodov: 15925
Najaktívnejší č.: 2
Profil používateľa

Reakcie

# source control 9. 3. 2010 21:38:22 vlko

Mna by celkom potesilo, keby tfs podobne ako codeplex podporoval mercurial.

# source control 9. 3. 2010 21:57:09 slavof

vlko ma predbehol... chcel som tiez napisat, ze by ma potesilo, keby TFS podporoval mercurial ako codeplex... ;)

--s.

# re 10. 3. 2010 11:51:33 cruster

SVN oblubeny, TFS a Git predpisane
Mercurial nepoznam, z DVCS pouzivam len Git a aj ked som si uz zvykol nebojovat s totalnou neefektivitou, ktoru predstavuje Git BASH konzola (Git Extensions a TortoiseGit su IMHO v alpha verziach), akosi som stale nepochopil ake realne vyhody plynu z DVCS
z tych proklamovanych hned skrtam moznost pracovat bez siete, obavu z toho, ze by odisiel serverovy disk a aj rychlejsie vykonavanie operacii

ako to vidite vy?

# re: DVCS 10. 3. 2010 12:13:08 vlko

to cruster: vyhodou dvcs je moznost pracovat voci viacerym repository (v zaklade vlastne len lokalny, co ty vydavas sa moznost offline prace:) a lubovolny pocet vzdialenych) a prepracovany system branchovania a mergovania, pretoze vlastne kazdy commit je merge lokalej commit historie do vzdialenej repository.

Tiez logika prace je casty local commit aj ked je breaknuty a commit na vzdialeny repozitory az je vsetko ako ma byt.

Teda aspon ja to tak chapem, mozno niekto da viac teorie.

# RE; DVCS 10. 3. 2010 12:27:47 slavof

Mne osobne by vyhovovala moznost jednodudcho mat DCVS.

Preco? Obvykle nie som 4 z 5 dni v tyzdni na LAN-ke kde je nas TFS, a tak robim cez VPN, co sice ide dobre, no ovela viac by mi vyhovovalo robit voci lokalnej repository a dat von push, ked by mi to vyhovovalo.

To by tiez pomohlo v tom, ze by som nemusel davat do TFS veci ktore nechcem (a aj tak by som ich mal v repository, ak by som potreboval)

No a samozrejme moznost robit voci viacerym repositories - ako pise vlko.

Celkovo styl prace s DVCS mi vyhovuje viac, je akoby volnejsi, i ked vsetko ma vyhody aj nevyhody. Aj ked ak si clovek aspon trochu zvykne na DVCS a potom skusi ist nazad na SVN ci TFS, tak je to IMHO o dost neprijemnejsie ze ist opacne.

git je cool, no Mercurial ma zasa ovela lepsiu integraciu s Windows (TortoiseHG) a VisualStudiom.

Inak prakticky vsetci velki hraci co sa tyka SourceControl deklarovali snahu pridat do svojich systemov moznost pracovat v style DVCS (napr. pri Microsofte to pisal Brian Harry tu - http://blogs.msdn.com/bharry/archive/2010/01/27/codeplex-now-supports-mercurial.aspx - samozrejme oficialne nic nebolo oznamovane).

Inak pekne clanky o DVCS su:

http://www.ytechie.com/2009/11/introduction-to-distributed-source-control.html

http://www.ericsink.com/entries/dvcs_dag_1.html

http://www.ericsink.com/entries/dvcs_dag_2.html

Porovnanie source controls:

http://www.ericsink.com/entries/hg_denzel.html

http://versioncontrolblog.com/comparison/Git/Mercurial/Subversion/Team%20Foundation%20Server/index.html

-- s.

# re: Source Control 10. 3. 2010 16:24:02 duracellko

Volakedy davno to bol SourceSafe. Takze logicka evolucia bola na TFS. A pri nom som zatial aj zostal. Kedze stale robim na LAN, tak zatial som nemal dovod pozerat po inom VCS. Teda nie len ja, ale hlavne company policy :)

Len si osobne myslim, ze je skoda, ze TFS vyuzivame len ako source control, ked ponuka ovela viac moznosti.

# ... 10. 3. 2010 16:41:30 T

mam podobny nazor/otazku ako cruster

@vlko,@slavof: TFS 2010 budes moct instalnut aj lokalne.

Ak mam pristup ku replikacii z ineho prostredia, tak mozem mat pristup aj priamo na centralny source control resp. editovat offline a potom mergeovat, ked bude online.

VPN je z hladiska security priechodnejsia zvacsa ako priamy access na source control.

TFS ... moznost shelvnutia, az potom commit

VSS ---> TFS ...> SVN+Ank+DiffMerge a momentalne snaha o ---> TFS

# git 10. 3. 2010 17:32:44 cruster

co prakticky znamena ta "moznost pracovat voci viacerym repository"?
jediny scenar, s ktorym som sa stretol a podobal by sa tomu je, ze koren aplikacie je tahany z git.gnome.org a jeden specificky podadresar z gitorious.org
co ale realne znamena, ze zmeny zo servera dotahujem cez "git pull" v koreni, no nasledne "cd podadresar" a opat "git pull"
a v tom nevidim nic nevidane - ked vhodne zeditujem .svn/entries nejkeho podadresara, tak dosiahnem rovnaky efekt

specifikom Gitu tiez je, ze akonahle mate nejaku lokalnu zmenu v subore, v ktorom je zmena aj na serveri, tak "git pull" namietne, ze bola zadetekovana zmena a ani len sa nepokusi to zmergovat, hoci ide o nekolizny merge
zatial sa mi nepodarilo prist na lepsi sposob ako to vyriesit ako taky, ze si tie lokalne zmeny niekam odkopirujem, zmenene subory znovu checkoutnem a po pulle svoje zmeny znovu nakopirujem na spravne miesta

a takychto roznych problemov je kopec - o spolahlivosti implementacie msysgitu na windowse ani nehovorim
na konci dna clovek zisti, ze zabil takmer tolko casu ako na vyvoj bojom s Gitom

viem, ze sa o nom strasne vela pise, bloguje a vela projektov nan prechadza, ale mne sa aj tak nezda byt cool

# re:git 11. 3. 2010 0:00:44 vlko

to cruster: dokial nie je zmeneny riadok, tak urobi automerge, testoval som to teraz takto:
1. prvy local repository - vytvorit subor, commit a push to remote
2. druhy local repository - pull, pridat riadok, commit a push to remote
3. prvy local repository - pridat riadok, commit a pull urobi automerge (subor obsahuje ako riadok z remote, tak lokalnu change)

to T: nejde o lokalnu instalaciu, ide o historiu zmien, ked lokalna historia z local repository sa pri pull stane sucastou remote repository a to uz blame (annotate) dava iny zmysel a najma, mozes si verzionovat lokalnu neskompilovatelny zdrojak, len kvoli trackingu zmien a do remote repository postnes az funkcnu verziu aj s celou historiou

# ... 11. 3. 2010 8:12:32 T

@vlko: = vyuzitie v realite marginalne(ale mozno mi chyba predstavivost) ... ked dorobia historiu nad shelvami v TFS tak je to +- to iste a sme len pri tom crusterovom offline.

# re:... 11. 3. 2010 10:33:32 vlko

to T: nemas celkom pravdu, zakladom pouzivania source safe systemov je mat commit co najcastejsie, co ale v poslednej dobe ako sa rozbiehaju CI riesenia, tlaci developerov bud nejak tagovat commit, ktory vyvola build, alebo riesit build manualne/casovo, ale stale moze padnut, ak nepouzijes tag. A to este nehovorim o checkin policy, ktoru obcas nejde preskocit a checkin sa ti vrati. Vo vysledku teda programator checkinuje menej castejsie az dokonci celu robotu, co pri nejakych code reviews alebo zlozitejsich zmenach dost nap.t.
Riesenim je bud shelvovat, ale pri shelvoch nemas previazanost medzi jednotlivymi shelvami, nemozes shelve branchovat. Alebo pouzijes distribuovany source system. Programator si commituje zmeny lokalne, moze sa medzi nimi vracat az nieco domrvi, ale hlavne kazdy commit moze mat tag a ma popis a ked je s riesenim spokojny, pushne zmenu na server, aj s celou historiou zmien a tak blame/annotate ti da skutocne dobry vysledok.

Mozno nehovorim, len sam za seba, ale zacinam byt v poslednej doby s verzionovanim tfs frustrovany. Casove rozostupy medzi commitmi sa pomaly predlzuju a potreboval by som zdielat medzi projektami urcite podadresare v projektoch, nieco presne na sposob modulov v git.

# RE; DVCS 11. 3. 2010 11:18:11 slavof

Uz to tu popisal dost dobre vlko...

Z mojho pohladu je skor primarny sposob prace, konkretny nastroj (konkretny source control system je az potom).

Iste sa nejak da dosiahnut popisane scenare aj pomocou TFS so shelvami, offline pracou, nejakym systemom branchov a mergovania, ... no osobne mam pocit, ze to co chcem sa da jednoduchsie a prirodzenejsie (z mojho pohladu, ktory iste nemusi byt jediny a najlepsi, kazdy nech robi tak ako mu to vyhovuje) dosiahnut pomocou DVCS.

Hlavne argumenty ako pisal vlko su: chcem mat (idealne lokalne) vlastnu repository, prip. viac repositories, kde vyvijam kod, robim pokusy, nechcem aby to videli okamzite ostatni (resp. aby sa mi nad kazdym check-in-om spustali vsetky standardne procesy), a nechcem aby tieto nestabilne veci zbytocne naveky zostali v source-control systeme, mozem repository okamzite zahodit ak je nieco uplne mimo, a nakoniec mozem dat von (zdielat) len to co chcem... akoby som chcel mat jednoducho vyhody source control systemu, bez toho, aby som urobil plnohodnotny check-in do TFS, ... no a samozrejme chcem, aby to fungovalo spolu - t.j. aby som nemusel pouzivat dva systemy (ci uz rozne alebo rovnake).

To co hovorim teda je, ze niektore(!) veci co by som chcel mat vo svojej "pracovnej workflow" nastavene a co najviac zautomatizovane sa jednoduchsie daju realizovat pomocou distribuovanych source control systemov.

Z toho pohladu by mi asi najviac vyhovovala nejaka kombinacia TFS s distribuovanym source controlom- napr. ten Mercurial-TFS, alebo TFS s DVCS featurami.

Inak TFS pokladam ze velmi dobry source control system a nechcel by som sa celkom vzdat jeho infrastruktury - work items, previazanie na office, projektove sablony, a mozno aj build system, su celkom fajn.

-- s.

# re 11. 3. 2010 13:57:00 cruster

vlko, tak potom asi robime s roznymi verziami gitu, pretoze u mna to skonci na:
"Entry ‘foo’ not uptodate. Cannot merge."

Aky vyznam ma vlastne komitovat lokalne? To je akoby si nekomitol vobec. Vecer si na notebook vylejes pohar vina a disk a s nim aj tyzdnova praca je v haji.
Ake racio je za tym, ze by mal ist do repository vzdy len najfinalnejsi stav akejkolvek novej funkcionality, ci zmeny? Nikdy ste do repository nekomitli ziadny kod, v ktorom by bolo "// TODO"?

# re 11. 3. 2010 14:32:16 vlko

to cruster: to uz trosku vyvadzas do extremu. Ako som uz hovoril, zober si priklad, ze na server commit (teda v git pripade push) mas zaviazane nejake integracne, unit testy, pripadne v pripade aktivneho teamu, pre zmenu pripad, ze si niekto stiahne nekompilovatelnu verziu len preto, ze si si ty commitol verziu, ktora nie je kompilovatelna.

V pripade standardnych vcs ta to vedie k tomu commitovat iba funkcnu verziu, co moze byt 2,4,8, niekedy aj viac hodinova zalezitost. Preco by si ale mal prist o historiu postupnych krokov a moznost sa k nej vratit? A ano, bezne to riesime pomocou undo, ale co ked padne visual studio, alebo je zmena cez viacero suborov? Shelve je len ciastocnym riesenim, shelve neumoznuje dalsie kontinuum, ale co shelve to osobitna verzia.

Ale mozno ide len styl o programovania. Ja hlasam teoriu, ze task by namal trvat viac ako 16 hodin, maximalne 24 (3 dni), bezna velkost od tych 4-8 hodin (kratsie tasky len zvysuju administrativnu pracu, preto ich mergujem do vacsich celkov s min 4 hodinami). A samozrejme v mojom kode byva aj todo aj neimplementovany interface (todo komentare moc nepouzivam, to si radsej hned spravim task v tfs, mam skusenost, ze o todo sa aj tak nikto nestara:).

# .. 11. 3. 2010 16:53:03 T

@vlko,@slavof:"zakladom pouzivania source safe systemov je mat commit co najcastejsie, co ale v poslednej dobe ako sa rozbiehaju CI riesenia, tlaci developerov bud nejak tagovat commit, ktory vyvola build, alebo riesit build manualne/casovo"

toto nie je o DVCS...ale o moznostia toolu...@vlko vymyslas pseudoproblemy :-)
TFS = Shelving + Branching -> o com pisete obaja, v com je specifikum DVCS v tomto smere okrem toho "offline"? "Commituj" si kolko chces(napr. do shelvu)...

a fakt chcete mat "offline"?
+(since 2010) TFS mozte mat TFS aj lokalne a ked s apotrebujem hrat ako pise slavof a nechem aby niekto videl moje pokusy(paranoja?)...tak si to supnem tam. Ak chcem commit na ostre TFS, co mi brani priamo pouzit moju (nejaku)working copy?

# T 11. 3. 2010 17:03:24 ...

@vlko: aj ten dalsi...len pseudoproblemy zatial, sorry.
Commit do shelvu (nemam vec ready to build, ale nechcem prist o zmeny ked mi odide ntb), potrebujem robit nejaku zmenu teamovo a izolovat sa od hlavnej vetvy? (branch)

Historia zmien? Ved ju mas v branchy a dokonca branche vies manageovat a viazat na nejke projektove milniky -> fixnutie bugu 100, 101, 102

kde vidis stale problem?

# RE: 11. 3. 2010 17:22:42 slavof

@T:

paranoja?

no vies... par rokov som bol sys admin na velkej sieti... uz sa toho asi nezbavim... ROTFL :))

-- s.

# ... 11. 3. 2010 18:09:28 T

@slavof: ;-)

a sorry chlapi za ten zase asi na prvy pohlad "arogratny" ton...mam na to dar :-)

# re:... 11. 3. 2010 21:43:04 vlko

to T: ja som si na tvoj styl uz zvykol:) Proti argumentu prepojenia vcs s taskami, bugmi, sa neda moc namietat, prave preto tfs vsetci pouzivame, nie?:) Ale spat k teme, tazko ta presviedcat o niecom, co si neskusil, skus si git/mercurial sam a uvidis ci ti koncept branchov ala tfs vcs nepride zastarany. Doba sa meni a keby nie, mozno este teraz kodime v vb6 alebo delphi a o par rokov sa dvcs urcite dockame aj v tfs, chce to len cas:)

# ... 11. 3. 2010 23:26:55 T

@vlko:
ano, moze to byt aj o tom (ze som neskusil), ale zatial som necital jeden argument, ktory by ma naozaj presvedcil, aby som tam ucinil ;-)
...nuz ale zase nie vsetko nove je nutne aj posunom vpred, niekedy dva kroku vpred mozu znamat aj tri dozadu zaroven ;-) vid ASP.NET MVC(ked uz kontrapriklad) :-D aj ked to zase nie je nic nove :-)

Titulok:


Meno:


Url:
Koľko je 22 + 4? (ochrana proti spamu)

Komentár:


Najaktívnejší užívatelia
1. 34425 b. photo vlko
2. 15925 b. photo T
3. 15330 b. photo spigi
4. 5885 b. photo dudok
5. 5510 b. photo slavof
6. 4935 b. photo siro
7. 4715 b. photo duracellko
8. 3625 b. photo jakub
9. 3490 b. photo lubolacko
10. 3340 b. photo skippo