W zeszłym tygodniu internety obiegła wiadomość, jakich mało: Microsoft oficjalnie uznał przewspaniałość Gita! Może jednak przyjdzie kiedyś czas, gdy nie będę musiał się wykłócać ze zwolennikami TfuFSa i tłumaczyć po milion razy jak to narzędzie, a szczególnie jego utrata kontroli nad wersją, jest bardzo, bardzo złe, słabe i szkodliwe?
Ale co się dokładnie stanie? Git będzie częścią Visual Studio i TFS! Nie chodzi tylko o i tak dobrze działający Git Source Control Provider przepisany od zera by MS. Będzie to też coś więcej niż “bridge” między TFSem a Gitem, który Microsoft i tak już napisał (Git-TF, nawiasem mówiąc i tak średnio nadający się do użytku w porównaniu z Git-TFS, ale o tym będzie osobna notka). W “TFS Online”, czyli Team Foundation Service, można wybrać Git jako natywne docelowe repozytorium projektu. W kolejnej wersji TfuFSa będzie można to zrobić również lokalnie. Niedługo (VS 2012 Update 2) dostaniemy możliwość zainstalowania Visual Studio Tools for Git… i Ballmer wie co jeszcze (a na przykład to, że integracja z Gitem będzie wbudowana nawet w wersje Express kolejnych wiżuali!).
Od jakiegoś czasu można było zauważyć w Redmond zainteresowanie Gitem. A to cudne Git Publishing na Azure, a to jakiś team opublikował jakiś projekt właśnie jako repo Gita… Ale nie spodziewałem się takiego kroku. Bardziej bym podejrzewał chęć napisania “własnego” rozproszonego systemu kontroli wersji i wepchnięcie go do TfuFSa, co nie mogłoby się skonczyć dobrze. Także: szacun za niepodążenie w tym debilnym, idiotycznym kierunku. Szczególnie po przeczytaniu takiego tekstu na blogu Briana Harry’ego:
“(…) the reaction inside my own team when we first proposed this was quite mixed. There were certainly plenty of people who wanted to “build a better DVCS system” or integrate DVCS workflows into the existing implementation. There were others who were concerned about open source and lack of “control” issues. But, the more we looked at it, the more it looked like the right thing to do.”
Radujmy się po prostu!
Inna kwestia to pytanie “czy to działa?”. Z jednej strony słychać że tak, z innej – że podobno nie bardzo:). Ale nie traćmy nadziei, nie nastawiajmy się na używanie tego już teraz, a pewnie najwcześniej za kilka miesięcy i będzie… git. Nomen omen.
Jak to Hadi Hariri zasugerował: teraz tylko TFSowe buildy zastąpić TeamCity i “ticket management” YouTrackiem i TFS będzie bardzo dobrym produktem;).
Nic więcej nie pozostaje do napisania poza zacytowaniem tego świetnego tweeta:
Oh #TFS consultants. Did you hear that sound? Yeah, that was the sound of inevitability finally arriving.
Na koniec jeszcze tylko parę linków:
- Git init VS – Brian Harry’s blog
- Getting Started with Git in Visual Studio and Team Foundation Service – Visual Studio ALM + Team Foundation Server Blog
- Git Support Added to Visual Studio and TFS – Channel 9
- Git support for Visual Studio – Git, TFS, and VS put into Context – Scott Hanselman
- Team Foundation Service updates – Jan 30
A dlaczego na CodeGuru ta informacja się jeszcze nie pojawiła – nie jestem w stanie pojąć…
Korzystałem przez chwilę z tej ich wtyczki do Visual Studio. Pomysł bardzo fajny, może właśnie to przekona ludzi u mnie w pracy do spróbowania Git-TFSa. Integruje się podobnie jak obsługa TFSa, można przeglądać historię, commitować z poziomu Pending Changes, zmieniać brancha. Jednak jak dla mnie nowe Pending Changes to jakaś porażka od strony usability. Na razie wolę commitować i robić bardziej zaawansowane rzeczy z basha, a historię sobie przeglądam w Git Extensions otwartym na boku.
Poza tym podejrzewam tę wtyczkę o duże spowolnienie VS, bo po odinstalowaniu pewne problemy zniknęły. Ale rozumiem, że to beta, jeszcze w wersji CTP updatu, więc wybaczam.
Czekam na nową wersję, na pewno będę śledził temat.
” teraz tylko TFSowe buildy zastąpić TeamCity i “ticket management” YouTrackiem i TFS będzie bardzo dobrym produktem” zabiło mnie :) Hadi jak zwykle celnie :D
Trzeba sie tylko cieszyc. Duza rzesza .Netowym programistow podaza “jedynie slusznymi” sciezkami wytyczanymi przez Microsoft. Wreszcie dostali sygnal ze GIT jest chyba ok i moga go uzywac :)
Co do wtyczki … to ja jednak wole swiat konsoli i basha ;P
Co do wszelakich wtyczek – zawsze zachęcam przejście na basha, ale zwykle napotykam na opór. “konsola w XXI wieku?” W czasach SVN korzystalem z integracji z VS (VisualSVN i AnkhSVN), ale z gitem to po prostu nie jest potrzebne, i ogranicza. W SVN wszystko poza “checkout” i “commit” konczylo sie bledem:) i do tego integracja z IDE jest OK, ale unikanie basha to krzywdzenie samego siebie.
dziwne ze ludzie maja problem z bashem a nie maja z TC… ja wrecz przeciwnie, wole bash a nie znosze TC.
OOoo Gutek myślimy podobnie. Do Gita sprawdza mi się bash i nie rozumiem fascynacji TC
@Maciek
Co do braku informacji na CodeGuru. CG to portal nastawiony na generowanie appek do Windows Store-a :) Pure marketing.
@francmichal
tak i nie. ale git tam nie jest lubiany :)
Michal, Gutek,
Znalazlem :)
http://www.codeguru.geekclub.pl/baza-wiedzy/visual-studio-2012-update-2-preview-oraz-update-team-foundation-service-,3177
Ale to jest jako ‘artykul’ a nie ‘news’, na samym dole strony, wiec nie do zauwazenia na pierwszy rzut oka
Git w Visual Studio i TfuFS! | Maciej Aniserowicz o programowaniu…
Dziękujemy za dodanie artykułu – Trackback z dotnetomaniak.pl…
@michalfranc Jak dla mnie CG jeszcze żył kilka lat temu jak chodziłem do liceum. Teraz nic tam nie ma zero życia…ale fajnie że chociaż można klepac apki za tablety ;). Co do Git’a, bash do wsadzania commitów i pushowania a git GUI to ewentualnego sprawdzenia czy na pewno wszystko psozło well.
Z góry uprzedzam, że jestem początkującym użytkownikiem jeżeli chodzi o TFSa – mamy go w firmie w wersji 2012 – używam go od kilku miesięcy i w zasadzie nie mam na co narzekać (mówie o source control). Nie spotkałem sie z żadnym z problemów które są zarzucane TFS2010. Czy ktoś z Was używał go w tej wersji? Nie używałem poprzedniej ale z tego co wyczytałem to ponoć sporo zmieniło się na lepsze (chociażby local workspaces). Chciałbym przeczytać opinię kogoś, kto używał i starszej i nowszej wersji.
@Andrzej
uzywalem go w wielu wersjach. z SC zawsze sa problemy. w 2012 jest jeszcze zabawniej: http://blog.gutek.pl/post/2012/12/06/VS-2012-i-TFS-2012-e28093-czy-chcesz-zostawic-swoje-zmiany-czyli-jak-popsuc-sobie-dzien.aspx
@andrzej,
Używałem 2005, 2008, 2010 i 2012. 2012 faktycznie wypada najkorzystniej – przepisali chyba cały algorytm merge od zera. Ale i tak w porównaniu z alternatywami nie da się z tego korzystać.
Trochę przesadzacie z tym narzekaniem na TFS, zresztą porównywanie TFS-a do Git-a jest bez sensu, TFS to system ALM z centralizowanym systemem kontroli wersji, Git jest rozproszonym systemem kontroli wersji. W firmie gdzie wszyscy pracują online TFS sprawdza się wystarczająco, zwłaszcza że nie wszystkich da się przekonać konsoli, dlatego może wypuszczenie przez Microsoft integracji z Git-em to poprawi.
Używam git-a w swoich prywatnych projektach i sprawdza się doskonale, ale przekonanie całego zespołu w firmie i nauczenie Git-a jest dużym kosztem i nie widzę korzyści jakie miałoby to przynieś, zwłaszcza dla deweloperów którzy nie tak dawno przenosili się z archaicznego Source-Safe, i dla których tryb naturalnym trybem pracy był exclusive check-out.
Git zresztą też ma swoje wady, praca z dużymi repozytoriami jest problematyczna, no i jest problem z plikami binarnymi dla których nie ma dobrych narzędzi do mergowania zmian. Niestety w wielu repozytoriach trzymało się i trzyma pliki binarne np. ikony, obrazki, doc-e, excele itd.
[…] omawiam najciekawsze wydarzenia i znaleziska minionego tygodnia.Dzisiaj prezentuję:1. Git i TFS http://www.maciejaniserowicz.com/2013/02/07/git-w-visual-studio-i-tfufs/2. Wymierające egzaminy? […]