TFS vs SVN [zamknięty]

Mam zamiar rozpocząć projekt (. NET) i muszę zdecydować między TFS i SVN.

Jestem bardziej przyzwyczajony do SVN( z klientem tortoise), CVS i VSS. Czy TFS posiada wszystkie funkcje dostępne w SVN

Czy ktoś z was przesiadł się z SVN na TFS i uznał, że warto?
Wygląda też na to, że możemy potrzebować Visual Studio, jeśli chcemy pracować z TFS.

[Edit]
Pieniądze nie są brane pod uwagę, ponieważ mamy już licencje na TFS. A mnie bardziej interesuje funkcje kontroli źródła TFS vs SVN, oczywiście lista innych funkcji jest również mile widziane.

Author: Binoj Antony, 2009-03-19

16 answers

Cóż, dla mnie wybór jest oczywiście TFS:

  • Integracja SVN z Visual Studio jest co najmniej niekompletna (wiele funkcji nie jest dostępnych z IDE) i trochę błędna( AnkhSVN na pewno jest), podczas gdy TFS jeden jest idealny (co ma sens...). Miałem cały mój obszar roboczy uszkodzony kilka razy za pomocą SVN (w ciągu jednego miesiąca), nigdy nie używając TFS (aprox 2 lata)

  • Podczas gdy funkcje związane z kontrolą źródła obu systemów są prawdopodobnie całkiem równoważne, są one dostępne bezpośrednio z IDE z TFS, podczas gdy musisz polegać na TortoiseSVN lub innych zewnętrznych narzędzi, jeśli używasz SVN. prawie wszystkie zadania TFS są dostępne za pomocą kilku kliknięć na karcie solution explorer.

  • Scalanie jest o wiele łatwiejsze dzięki TFS, nawet w przypadku złożonych scaleń (na przykład, SVN doda >>>>>>>>'s dla Ciebie .pliki csproj , więc musisz ręcznie edytować je, aby otworzyć je ponownie Z VS.)

While I myślę, że te powody są więcej niż wystarczające, aby wolą TFS niż SVN, I mus dodać, że:

  • TFS jest czymś więcej niż tylko narzędziem kontroli źródeł (think work items, project portal, etc.)

    Używałem go w projekcie średniej wielkości (12 koderów, 3 testerów, 3 analityków biznesowych) w przeszłości i udało nam się z powodzeniem scentralizować wszystkie zadania w TFS (raporty o błędach, dokumentacja projektowa, proces budowania itp.)

    Nie twierdzę, że nie można zrobić tego samego używając SVN i Inne narzędzia innych firm, ale zdecydowanie miło jest mieć wszystkie rzeczy ładnie zintegrowane w jednym produkcie.


Aby pozostać fair, oto dwie oczywiste wady TFS:

  • Jego cena

  • Instalacja TFS jest dość uciążliwa, podczas gdy instalacja SVN to kwestia minut.

    Instalacja TFS 2008 przez SqlServer 2008 jest dość skomplikowana, nie można zainstalować TFS na PDC, itp. Dla mnie jest to zdecydowanie najgorsze doświadczenie instalacyjne, jakie miałem nigdy nie miałem z produktem Microsoft.

    To powiedziawszy, po zainstalowaniu TFS jest bardzo łatwy w użyciu (szczególnie dla programistów nie znających systemów kontroli źródeł)


W moim obecnym projekcie zacząłem od SVN i szybko przełączyłem się na TFS. Cieszę się, że to zrobiłem.

Głównym powodem, dla którego zdecydowałem się na przełączenie, jest oczywiście ogólne błędne zachowanie SVN (używałem VisualSVN jako serwera i AnkhSVN jako klienta). Przynajmniej raz tydzień spędziłem godziny na tajemniczych komunikatach o błędach AnkhSVN.

Do tej pory nie znalazłem ani jednego powodu, aby żałować przejścia na TFS.

 4
Author: Brann,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-19 15:45:31

"nie można porównać TFS i SVN"

SVN : jest systemem wersjonowania kodu źródłowego
TFS : jest pełnoprawnym systemem zarządzania rozwojem oprogramowania, który zawiera, Kontrola wersji, Zarządzanie wydaniami, śledzenie wymagań, publikowanie dokumentów i inne rzeczy.

AnkhSVN, dodatek Collabnet) Dostępny dla VS2005, więc nie o to chodzi.

Kryteria do rozważmy wybór :
- Jeśli masz projekt bez lub z małym budżetem wybierz SVN
- Jeśli szukasz tylko systemu kontroli wersji Wybierz SVN , Jeśli szukasz pełnego zarządzania rozwojem wybierz TFS
- Jeśli masz cierpliwość do żonglowania różnymi narzędziami Integracyjnymi (CruiseControl.Net, NUnit, NCover, FIT) aby uzyskać odpowiednie środowisko programistyczne wybierz SVN, lub jeśli szukasz out of the box implementacji wszystkich te dla Ciebie Wybierz TFS

 84
Author: NileshChauhan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-19 08:48:04

Po użyciu TFS 18 miesięcy temu znalazłem go buggy, powolny, irytujące, bardzo ograniczone kryteria wyszukiwania i miał poczucie produktu rzucony przez zespół nie zainteresowanych, poniżej płatnych, ponad pracował techs jest zmuszony do korzystania z Sharepoint i innych technologii MS, ponieważ to, co marketing chciał. Poważnie to był pies, wolałbym użyć źródeł!

SVN z drugiej strony jest trochę techie, integracja IDE to ból i czasami może się mylić, ale baza użytkowników jest masywny i większość problemów można rozwiązać za pomocą szybkiego tak question.

Rozważałeś Skarbiec ? Działa dobrze i nie jest zbyt drogie.

 32
Author: MrTelly,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-19 08:06:04

Poleciłbym TFS tylko wtedy, gdy używasz wersji 2013 i używasz repozytorium opartego na Git. Napotkałem zbyt wiele problemów z poprzednimi wersjami, aby uznać je za stabilne.

  • nie jest możliwe wysłanie wielu plików do narzędzia diff na raz. Jest to niezwykle przydatne, gdy chcesz przejrzeć zmiany przed połączeniem i nie jest dostępne.
  • niespójna dostępność funkcjonalności. Niektóre funkcje są dostępne tylko w IDE, podczas gdy inne kawałki są dostępne tylko z Eksploratora Windows, podczas gdy jeszcze inne są dostępne tylko z wiersza poleceń.
  • Dodawanie plików do kontroli wersji nie jest dostępne z IDE i dostępne tylko z Windows Explorer integration.
  • [[3]} Dostęp do zestawów półek jest dostępny tylko z poziomu IDE i nie jest dostępny poprzez integrację z Eksploratorem Windows.
  • brak jednego zunifikowanego instalatora. Nie wystarczy tylko zainstalować TFS, trzeba też zainstalować narzędzia zespołowe i elektronarzędzia do uzyskaj podstawową funkcjonalność.
  • funkcjonalność zestawu półek nie łączy się. Co mogło być fajnym sposobem na robienie prywatnych oddziałów, zasadniczo gwarantuje, że Twój kod będzie nieaktualny i przestanie działać.
  • musisz ręcznie odblokować pliki tekstowe przed ich edytowaniem, jeśli chcesz użyć edytora innego niż Visual Studio.
  • czasami Visual Studio zapomina odblokować pliki, którymi sam zarządza i wyświetla błąd.
  • odprawa i regały bazy UIs dostępne pliki dla commit na to, co zostało już dodane do TFS, a nie to, co jest faktycznie obecne w systemie plików. To sprawia, że bardzo łatwo przegapić pliki. (W rzeczywistości jest to problem ze sposobem, w jaki Visual Studio obsługuje pliki projektowe, ale to samo w sobie jest kolejnym problemem).
  • niepotrzebnie trudno jest używać narzędzi innych niż Microsoft do edycji źródła ze względu na wcześniej wymienione problemy.
  • Konfiguracja TFS jest przypisana do twojego źródła. Oznacza to, że jeśli zmienisz swój TFS serwer konfiguracja dla całej historii jest teraz Niepoprawna. Istnieje domyślna konfiguracja, której możesz użyć, która nadpisuje to zachowanie, ale nie jest to oczywiste.
  • Brak wsparcia dla filtrów ignorowanych na niczym innym niż na poziomie podstawowym.
  • niemożność obsługi ścieżek większych niż 249 znaków.
  • pliki, które zostały odblokowane, ale nie edytowane, wyświetlają się jako zmienione, mimo że nie były. Rozróżnianie między zmienionymi i odblokowanymi znacznie ułatwiłoby różnicowanie, albo jeszcze lepiej pozbyć się całego zepsutego systemu odblokowywania.
  • nakładki ikon Eksploratora Windows nie pokazują wyraźnie, czy plik został edytowany. Wszystkie pliki w TFS mają zielony róg, podczas gdy zmodyfikowane pliki dodają Ołówek do dolnej części ikony. Przejście do czerwonego Rogu dla zmodyfikowanych byłoby dużo łatwiejsze do zobaczenia lub za pomocą systemu ikon tortoise.
  • Starsze wersje Visual Studio mają problemy z integracją z nowszymi wersjami TFS. Oznacza to, że mamy teraz IDE zależność wersji w kontrolce źródłowej.
  • domyślnie zawiera pliki rozwiązań użytkownika, gdy nie są potrzebne. Oczywiście przyznam, że to może być kwestia preferencji.
  • złe buforowanie sprawia, że różnice między lokalną kopią a serwerem nie są dokładnie odzwierciedlone. To bardzo frustrujące, aby uzyskać najnowsze i dowiedzieć się, że tak naprawdę nie masz najnowszych.
 24
Author: Chris Walter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-09 05:08:04

Minęło 1,5 roku odkąd używam SVN do różnych projektów. Setupy używałem do tej pory:

  • AnkhSVN Klient Visual Studio. Dobrze integruje się jako dostawca kontroli źródła od wersji 2.
  • Serwery CollabNet Subversion w systemie windows lub Apache 2.2 Z SSL + SVN przez DAV na Linuksie.

Nie miałem żadnych problemów z żadną z tych konfiguracji i zdecydowanie polecam korzystanie z SVN, ponieważ jest bezpłatny i łatwy w użyciu. Również wiele pakiety do zarządzania projektami / śledzenia błędów integrują się z SVN (jak na przykład trac ).

 14
Author: Saulius Žemaitaitis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-19 09:33:25

Wybrałbym SVN. Pracowałem już z SVN z punktu widzenia deweloperów i obecnie pracuję z TFS, i powiem ci, że TFS jest bolesny. Podczas gdy TFS jest pełen funkcji i jest czymś więcej niż tylko kontrolą wersji, jego kontrola wersji jest w najlepszym razie niechlujna. Scalanie jest horrendalne i wielu z nas korzysta teraz z ręcznych narzędzi scalających lub scalających, ponieważ nie możemy polegać na TFS. Pliki znikają, czasami nie są pobierane do lokalnego systemu, a są po prostu dziwactwa w jego zachowaniu, które sprawiają, że chcesz uderz głową o biurko.

To powiedziawszy, jeśli chcesz TFS w całej okazałości, są gotowi pracować z jego punktami bólu, jest to świetne narzędzie do konfiguracji zautomatyzowanych kompilacji i wydań.

 12
Author: achinda99,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-19 15:17:00

Użyłem obu-ale tak naprawdę, zamieniłem moje główne projekty z TFS na SVN. Uważam, że dostęp offline i anonimowy jest bardzo cenny w moich projektach.

Ogólnie uważam, że są porównywalne. Wybrałbym ten, który znasz najlepiej, a Ty jesteś najszczęśliwszy. Nie znajduję konkretnych funkcji w jednym dramatycznie przewyższają funkcje w drugim systemie.

 10
Author: Reed Copsey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-19 08:04:52

Sprawdź ten artykuł zanim zdecydujesz: Porównanie TFS vs Subversion dla projektów Open Source

 10
Author: Sakkle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-03 15:13:52

Jeśli znasz svn, to ja bym się przy tym trzymał. Tfs nie jest darmowy i nie jest prosty. To znacznie więcej niż tylko Kontrola źródła. Jeśli jesteś sklepem. NET jak my i decydujesz, jaki produkt użyć dla całego cyklu dev to jest rywalem, ale dla prostej kontroli źródła to przesada.

 7
Author: danswain,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-19 09:56:28

Powiedziałbym, że TFS to coś więcej niż tylko Kontrola źródła. Jeśli cię na to stać, zdecydowanie radzę go użyć. Kiedy zaczniesz na przykład używać kompilacji zespołowych lub używać rzeczy takich jak elementy pracy, zobaczysz, że TFS może naprawdę zarządzać całym cyklem rozwoju, zapewniając bogate środowisko, w którym raportowanie, łatwość użycia, płynna integracja i solidna Kontrola źródeł są połączone w jedno.

Wymaga trochę żelaza po stronie serwera. Nie uważam go jednak za powolny, to działa dobrze przez VPN i obsługuje pracę w trybie offline.

Głównym przekrętem jest proces instalacji (po stronie serwera), który jest żmudny, nieelastyczny i w moim umyśle (pochodzę z dziedziny, w której pakowanie aplikacji i wdrażanie są bardzo ważne) złym przykładem tego, jak można zainstalować SQL Server, Reporting Services, Sharepoint i webservices.

 3
Author: craziac,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-19 09:48:45

TFS może importować z SVN, jednak SVN nie może importować z TFS. Więc jeśli nie znajdziesz dobrego powodu, użyj SVN, ponieważ łatwiej jest zmienić zdanie później.

Jedną z najlepszych rzeczy w SVN jest to, że każdy system kontroli kodu źródłowego, który znam, może z niego importować, więc wybór SVN US jest opcją o bardzo niskim ryzyku.

 2
Author: Ian Ringrose,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-07 15:05:42

Z mojego doświadczenia wynika, że SVN jest znacznie szybszy i bardziej bezbolesny. Używałem go ze skryptami wdrażania xcopy, które pozwalają na pracę i wdrażanie znacznie szybciej w porównaniu do TFS.

 2
Author: Chris Halcrow,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-22 04:09:10

Nie mam doświadczenia z TFS, ale integracja IDE to coś, o czym powinieneś pomyśleć. TFS oczywiście integruje bardzo dobrze z Visual Studio. AnkhSVN, jedyna użyteczna darmowa wtyczka dla VS, jest często problematyczna, nawet w nowych wersjach. Nie próbowałem VisualSVN, chociaż.

 1
Author: Matthew Olenik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-19 08:02:09

Weź pod uwagę, że TFS 2010 można zainstalować również na systemie Windows Vista / 7 client OSs i że obsługuje ekspresową, trzy kliknięcia, instalację.

 1
Author: Michele Di Cosmo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-12 10:11:19

Plusy:

  • integracja z Visual Studio . Prawdziwy plus, jeśli korzystasz z pełnej technologii Microsoft. stos do rozwoju.
  • Automated builds (choć możliwe do osiągnięcia za pomocą innych produktów) jest naprawdę ładnie zrobione. Ciągła integracja i bramki odprawy są fantastyczne IMO.

Wady:

  • Windows Workflow Foundation . Z jakiegoś powodu Windows Workflow Foundation została wybrana jako metoda dostosuj wiele aspektów TFS. Krótko mówiąc, potrzebujesz książki o przepływie pracy systemu Windows, aby to zrozumieć, a ja po prostu nie mam czasu. Bardzo rozczarowujące IMO.
  • Zarządzanie Projektami . Koncepcja przedmiotów do pracy jest dość prosta, ale jest w niej wiele dziwnych rzeczy, które po prostu mnie rozczarowują. To jest po prostu zbyt skomplikowane IMO. Pochodząc z tła Trac + SVN, zdecydowanie wolę Trac tutaj. Jeszcze raz, tylko moje zdanie.
 1
Author: Didaxis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-14 13:36:49

Brak zrozumienia, do czego są zdolne Narzędzia, ich ograniczenia, oznacza, że skończysz z narzędziem, które nie działa na to, co chcesz. Zrozum swoje wymagania i przeczytaj instrukcje obsługi produktu-wiele dostępnych informacji, aby określić przydatność.

Chociaż całkowicie zgadzam się z zwolennikami SVN, ponieważ jest to wspaniałe narzędzie ( używałem go wiele razy na Uniwersytecie), odkryłem, że TFS jest ogólnie bardziej kooperatywny w sytuacjach OOTB, gdy używasz Wersja SP1 ze Studiem 2010.

Istnieje również kilka ładnych wtyczek, które sprawiają, że TFS jest nieco bardziej smaczny dla tych z nas, którzy są przyzwyczajeni i ogólnie wolą rozwiązanie typu SVN, a wiele z nich ma doskonałe wsparcie:

TeamReview do przeglądania kodu jest jednym z przykładów: http://teamreview.codeplex.com / MS Pathways for multi-platform use of TFS: http://www.microsoft.com/pathways/teamprise/FAQ.htm

To pytanie jest świetnym zasobem dla dodatków TFS: jakie dodatki / narzędzia są dostępne dla TFS?

Słowo dla mądrych, jak wspomniano powyżej, TFS może być ból do zainstalowania, więc należy zachować ostrożność. Podążając niżej trasą napotkałem minimalne problemy:

Studio 2008 -> Patching -> Studio 2010 -> Patching ->. NET -> SQL Server 2008/2012 -> Patching -> TFS - > Patching

 0
Author: Ray,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:17:02