
Jeśli używasz na codzień Team Foundation Servera, ale na przynajmniej jeden z poniższych punktów odpowiadasz kiwając ze zrozumieniem głową, to z pewnością dalsza część wpisu może Ci się wydać interesująca:)
a) Pracowałam/Pracowałem z CVS/SVN. Lubię klienta, np. Tortoise'a, z którym się dotychczas łączyłem(-am) z repozytorium i na razie chcę przy nim zostać!
b) W naszym zespole mamy osoby niekorzystające z Visual Studio, ale chcące mieć możliwość pracy z repozytorium kodu.
c) Zastanawiam się, czy zawsze muszę odpalać Visual Studio, żeby zrobić Check Ina?
Niedawno dowiedziałem się o ciekawym projekcie, pozwalającym na dostęp do repozytorium Team Foundation Servera, za pośrednictwem klienta SVNowego. Mam tu na myśli projekt SVNBridge, rozwijany na licencji Microsoft Public License. Najnowszą wersję, wraz z kodem źródłowym możemy znaleźć na Codeplexie, pod adresem http://svnbridge.codeplex.com/.
Pomysł jest zasadniczo prosty: komendy SVN są tłumaczone na polecenia TFSowe i vice versa, dzięki czemu komunikacja może mieć miejsce. Naturalnie oba repozytoria rządzą się swoimi prawami, więc nie wszystko, co lubimy w TFS lub SVN będzie tutaj bezproblemowo działało. Ale generalnie komunikacja jest możliwa.
Instalacja
Opcje instalacji mam dwie: albo odpalamy sobie plik exe(np. u siebie na maszynie developerskiej), który nasłuchuje na podanym przez nas porcie i stanowi proxy w komunikacji z TFS, albo możemy postawić proxy w postaci aplikacji w IIS. Poniżej zaprezentowałem na kilku screenach tą drugą opcję, czyli hostowanie w IIS. Odpalenie SVN Bridge jest na maxa proste. Aha, pokazuję już na przykładzie TFS 2010 beta2 - więc od razu potwierdzam, że działa, choć nie do końca kompletnie :(
1.) Z codeplexa ściągnąłem paczkę SvnBridge-Server.zip. Na serwerze, na którym mam TFS, rozpakowałem pliki do katalogu C:\inetpub\wwwroot\SvnBridge\ i w pliku web.config zmieniłem wskazanie "TfsUrl" na "http://localhost:8080/tfs" (w katalogu wirtualnym tfs stoi u mnie tfs 2010).
2.) Dodałem aplikację do IIS, jako katalog wirtualny(żeby nie rezerwować oddzielnego portu). Aha, pula, w kontekście której odpalamy powinna mieć ustawiony pipeline w trybie Integrated(w przypadku IIS 7 naturalnie)
3.) Zrobiłem tortoisowy check out z adresu http://tfsserver:8080/SVNBridge/[SciezkaDoProjektu]
Tym sposobem pobrałem kod z TFS za pośrednictwem klienta SVN. Naturalnie mógłbym zrobić checkin(commit) i co ciekawe, mógłbym na końcu komentarza dodać linijkę
work items: 1,2,3
i podobno(nie przetestowałem tego jeszcze) mój check in zostałby skojarzony z work itemami 1, 2 i 3
Problemy
Niestety, nie mam chwilowo dostępnego TFS 2008, żeby sprawdzić, czy tam też występuje ten problem, ale przy TFS 2010 Beta 2 nie jestem w stanie uruchomić Repo Browsera! :( Tzn. pyta się ze 200 razy o login i hasło, żeby w końcu powiedzieć, że e-eee, nie jedziemy... Ale na liście funkcjonalności wsparcie dla repo browsera widnieje, więc jest szansa, że z TFS 2008 będzie śmigać.
Podsumowując - SVNBridge to bardzo fajny projekt, ratujący w przypadku wystąpienia sytuacji a, b i c(i nie tylko) ze wstępu do tego posta. Polecam!