SVN w Eclipse jest podzielony na dwa obozy. Ludzie SVN opracowali wtyczkę o nazwie Subclipse . Ludzie Eclipse mają wtyczkę o nazwie Subversive . Mówiąc ogólnie, oboje robią to samo. Jakie są zalety i wady każdego z nich?
SVN w Eclipse jest podzielony na dwa obozy. Ludzie SVN opracowali wtyczkę o nazwie Subclipse . Ludzie Eclipse mają wtyczkę o nazwie Subversive . Mówiąc ogólnie, oboje robią to samo. Jakie są zalety i wady każdego z nich?
Odpowiedzi:
Oba są bardzo podobne, ale Subversive jest „dostawcą svn eclipse”. Korzystam głównie z Subversive ze względu na kilka wygodnych funkcji:
Grupowanie historii
Gdy przeglądam historię oddziału, a nie widzę tylko szeregu wierszy dla każdego zatwierdzenia, które może pogrupować według dnia, tygodnia itp.
Mapowanie pnia, gałęzi i znaczników
Subversive zakłada domyślny układ svn: pień, gałęzie, tagi (które można zmienić), więc za każdym razem, gdy chcesz otagować lub rozgałęzić, wystarczy jedno kliknięcie i podasz nazwę tagu lub gałęzi.
Jak powiedziałem, są to niewielkie różnice, które po prostu uważam za wygodne. Oba działają świetnie z mylyn, ale ogólnie nie ma naprawdę dużych różnic między tymi dwoma rozszerzeniami.
Połączenie z Subversive jest jednak uciążliwe (nie próbowałem Subclipse), nigdy nie udało mi się z powodzeniem połączyć. Podgląd scalania jest świetny, ale nigdy go nie dokończy lub zajmie to dużo czasu. Przez większość czasu kończę scalanie za pomocą wiersza polecenia bez żadnych problemów.
1.0.0.I20120601-1700
) i scalanie kodu nie może być łatwiejsze.
Odpowiem na to. Jestem kierownikiem projektu w Subclipse i zarządzam wszystkimi wydaniami itp. Projektu. Więc moje uprzedzenia są oczywiste.
Nie zamierzam zbyt dużo mówić o Subversive. Oczywiście są użytkownicy, którzy go używają i go lubią. Funkcjonalnie produkty są bardzo podobne, ponieważ oba są produktami dojrzałymi.
Chciałbym skomentować to, że Subversive jest jakoś oficjalną wtyczką Eclipse. To po prostu nieprawda, ponieważ nie ma takiego oznaczenia. Eclipse jest fundacją typu open source, a każdy projekt, który chce przestrzegać swoich zasad, wymagań procesowych i IP itp., Może hostować swój projekt wraz z fundacją. To nie czyni cię bardziej lub mniej oficjalnym niż jakakolwiek inna wtyczka.
Zauważę również, że Subversive pozostawał w fazie „inkubacji” od samego początku i nie wydaje mi się, aby kiedykolwiek spełniał wymogi ukończenia studiów. Jak widać tutaj, w projekcie był tylko jeden podmiot zatwierdzający, a aktywność zatwierdzania zmalała do bardzo niskich poziomów.
Subwersywny - dostawca zespołu SVN
Dlaczego więc powinieneś używać Subclipse? Aktywnie uczestniczymy w samym Subversion. Jestem członkiem PMC Subversion i pomagam utrzymać powiązania języka Java, abyśmy (i inne projekty, takie jak Subversive) mogli korzystać z interfejsu API.
Współpracujemy bezpośrednio z Subversion, aby zdefiniować i ulepszyć API oraz upewnić się, że niezbędne funkcje są udostępniane klientom takim jak Subclipse. Ściśle współpracujemy również z zespołami ds. Integracji Visual Studio ( AnkhSVN ) i TortoiseSVN, aby zapewnić względnie spójne wrażenia użytkowników między klientami.
Subclipse jest nadal aktywnie utrzymywany i utrzymujemy wsparcie dla wersji Eclipse od 3.2 do 4.2. Zawsze staramy się słuchać opinii i uwzględniać pomysły społeczności. Najnowsze wersje 1.8.x zawierają zmiany wewnętrzne, które znacznie poprawiają wydajność Eclipse podczas pracy z dużymi projektami (to jest, gdy naprawdę się widzi).
Subclipse jest liderem w takich obszarach, jak obsługa śledzenia scalania, gdzie ściśle współpracowaliśmy z zespołem Subversion, najpierw dodając tę funkcję w wersji 1.5, a następnie rozwijając ją w kolejnych wydaniach. Często byliśmy początkowymi konsumentami nowego API i przekazaliśmy projektowi informacje zwrotne potrzebne do zaostrzenia tej funkcji. Kilka lat temu wprowadziliśmy także graficzną wersję graficzną wersji, stając się pierwszą, która udostępniła tę długo oczekiwaną funkcję użytkownikom Eclipse.
Jeśli w Subversive istnieją określone funkcje interfejsu użytkownika, które ludzie chcieliby zobaczyć w Subclipse, zachęcam do odwiedzenia naszej społeczności i uczestnictwa w naszych forach dyskusyjnych. Może inni użytkownicy dzielą się Twoimi opiniami i możemy razem ulepszyć interfejs użytkownika.
Forum [Użytkownicy Subclipse] .
Eclipse 4.2 jest najnowszą wersją w momencie pisania tego postu, ale można bezpiecznie założyć, że Subclipse będzie obsługiwał wszystkie przyszłe wydania Eclipse w miarę ich tworzenia.
Z każdą nową wersją Eclipse instaluję Subversive, ponieważ jest to standard dostarczany przez Eclipse. I za każdym razem ma problemy z rozpoznaniem moich wcześniejszych projektów.
Więc w końcu odinstalowuję Subversive i instaluję Subclipse, co działa cudownie. Często używam SVN z wiersza poleceń, a także w Eclipse, a Subclipse nie ma z tym żadnych problemów.
Po przeczytaniu tego postu zmieniłem na Subclipse.
http://eclipsezone.com/eclipse/forums/t77149.rhtml#92035407
Jeśli robisz dużo scalania z Subversion, prawdopodobnie wolisz CollabNet Desktop - Eclipse Edition. Musisz zarejestrować konto w CollabNet, aby pobrać, ale jest to bezpłatne. Jest to zasadniczo Subclipse z lepszym interfejsem scalania.
Nie jestem związany z CollabNet.
CollabNet udostępnił swojego ulepszonego klienta korespondencji seryjnej niezarejestrowanym użytkownikom Subclipse. Otrzymujesz go, wybierając funkcję CollabNet Merge Client podczas instalowania Subclipse z witryny aktualizacji.
Powiedziałbym Subclipse, ponieważ nie mogłem nawet uruchomić Subversive;)
Myślę, że oboje są do bani. Moim zdaniem użycie TortoiseSVN jest zdecydowanie lepszym rozwiązaniem. Jest o wiele bardziej solidny i zwykle działa lepiej, i zawsze miałem problemy z integracją z Subclipse i Subversive.
Oba mają dość ohydne brodawki, ale nie mogłem przekonać Subversive do pracy z projektem, który sprawdziłem z linii poleceń, co było dla mnie przeszkodą.
Ja próbowałem obu z nich , a zarówno Subclipse i Subversive są okropne. Oba są trudne do zainstalowania. Jeśli korzystasz z Subversive, nie możesz używać zewnętrznego klienta SVN .
Jednak musisz mieć klienta SVN zainstalowanego w Eclipse, aby śledzić zmiany, a także aby nie uszkodzić lokalnego repozytorium.
Mam Subclipse zainstalowany, ale używać TortoiseSVN do faktycznie comitting / tagging / rozgałęzienie / scalania.
Subclipse, ponieważ przynajmniej to działa.
Do tej pory wywrotka była dla mnie wiadrem porażki. Nie byłoby dobrze grać ze wszystkimi moimi starymi projektami, które sprawdziłem w Subclipse.
Z pewnością obie wtyczki IDE mają swoje problemy. Ale żaden nie wyklucza równoległego korzystania z innych rozwiązań, takich jak TortoiseSVN lub wiersz poleceń. Używam wszystkich trzech do moich projektów w pracy.
Ważną rzeczą do zapamiętania jest to, że całe oprogramowanie klienckie SVN powinno używać tego samego formatu pliku SVN - który różni się w zależności od wersji SVN - lub poprosisz o kłopoty.
Innym stwierdzonym przez nas problemem jest sytuacja, w której oprogramowanie klienckie używa innego formatu pliku SVN niż serwer. (Przez format pliku rozumiem sposób, w jaki wszystkie informacje są reprezentowane we wszystkich pozornie niewidocznych plikach .svn, które skutecznie rejestrują to, co SVN musi wiedzieć o plikach projektu.) To może siać spustoszenie. Udokumentowano błąd między serwerem 1.5 a klientami 1.6, ale nie mogę teraz znaleźć linku.
Wystąpiły problemy z uruchomieniem dodatkowej wtyczki Subclipse 1.6 (IMO) z powodu niezgodności z naszym serwerem SVN 1.5.5. Więc wróciliśmy do Subversive. Działa dobrze, choć powoli i nieco wadliwie (ale poprawia się). Jednak po aktualizacji naszego serwera przejdziemy na Subclipse. I tak, sprawdzamy nasze projekty za pomocą TortoiseSVN i importujemy je do Eclipse (jest to szybsze).
Odkryliśmy, że jak powiedzieli tutaj inni plakaty, NIE zadziałałoby, gdybyśmy uruchomili nowsze wersje TortoiseSVN, które zapisywały pliki w formacie 1.6.x, ale kiedy wróciliśmy do TortoiseSVN 1.5.x, działało to dobrze. To samo dotyczy klienta wiersza poleceń (który wykorzystujemy w naszych zadaniach Ant ).
Tylko aktualizacja. Niedawno ponownie instalowałem Eclipse i stanąłem przed wyborem Subclipse vs. Subversive. Ja również miałem swoje problemy z próbą nakłonienia Subversive do pracy, więc wybrałem Subclipse.
Zainstalował się idealnie na moim 64-bitowym komputerze z systemem Linux i działa dobrze. Odwzorowałem najpopularniejsze funkcje, takie jak Aktualizuj, Zatwierdź, ... na skróty i to jest świetna zabawa. Łączenie jest również dobre, chociaż w przypadku większych scaleń nadal zwracam się do TortoiseSVN. Próbowałem z 3.5 i 3.6 i oba działają dobrze. Skończyło się na 3.5, ponieważ z jakiegoś powodu przypisywanie klawiszy nie działało z 3.6.
Jeśli używasz svn + ssh jako protokołu dostępu do repozytorium, zdecydowanie sugeruję wybranie Subclipse: Subversive nie jest wystarczająco inteligentny, aby poprawnie zapamiętać twoje dane uwierzytelniające i monituje o nazwę użytkownika i klucz prywatny przy każdej aktualizacji kopii roboczej, a także dla każdego svn-zewnętrznego, który mogłeś skonfigurować.
Opcje „zapamiętaj dane uwierzytelniające” są w tym kontekście zepsute i istnieją od pierwszej publicznej wersji Subversive.
Jeśli używasz jednego z nich w swojej firmie, a może nawet chcesz połączyć je we własne produkty oparte na platformie Eclipse, Twoje życie jest znacznie łatwiejsze dzięki Subclipse, ponieważ jest on dostępny w ramach przyjaznej dla biznesu licencji publicznej Eclipse.
Z drugiej strony, wywrotowa potrzebuje tak zwanych złączy, aby w pełni działać. A te mają osobne i różne licencje. Możesz więc otrzymać dwie lub trzy różne licencje tylko dla funkcji Subversive, podczas gdy wszystkie inne wtyczki Eclipse znajdują się pod tą samą licencją EPL. Z tego też powodu te złącza nie są hostowane na eclipse.org.
I dlatego są pobierane dynamicznie po instalacji Subversive (co oznacza również, że po prostu dublowanie witryny aktualizacji eclipse.org nie daje użytecznej instalacji Subversive offline w sieci firmowej).
Do około maja 2008 r. Korzystałem z Subclipse, ale z powodu problemów z niektórymi projektami przestawiłem się na Subversive i używam tego bez żadnych problemów. Jeśli robisz coś wymyślnego, jak bezgłowe kompilacje Buckminstera , zdecydowanie warto wybrać Subversive.
Jeśli używasz TortoiseSVN i regularnie aktualizujesz wersję, możesz znaleźć Eclipse z Subversive, który traci wszystkie informacje SVN i rzuca przerażające błędy.
Powodem jest to, że nowa wersja TortoiseSVN dodaje nowe metadane, których Eclipse Subversive nie rozumie, chyba że będziesz również aktualizować złącza Eclipse SVN.
Ogólnie używam złącza SVNKit, więc TortoiseSVN 1.5.x będzie działać ze złączem Eclipse SVNKit 1.5.x, a TortoiseSVN 1.6.x będzie działać ze złączem Eclipse SVNKit 1.6.x.
Subversive ma więcej zalet niż Subclipse wymienionych poniżej. Ale tylko jedna funkcja, której nie ma Subversion, jest tak krytyczna przy korzystaniu z gałęzi. Więc musimy użyć Subclipse .
Zalety wywrotowe :
Zaleta subclipse
+1 Subclipse
-1 Subwersywny
Subversive wprawia w zakłopotanie nawet po niewielkim refaktoryzacji i ma problemy z walidacją jak wyżej.
Środowisko: STS 2.7.2 (na podstawie Galileo)
Dla mnie żadne nie jest ani lepsze, ani gorsze, ale Subversive jest domyślną wtyczką SVN w platformie Eclipse Ganymede, więc jest szansa, że lepiej zintegruje się z Eclipse.
Jako dodatek do Brendons odpowiedz:
Używamy Subversion od wersji 1.5.1 i najpierw korzystaliśmy z Subclipse. Ponieważ jednak jesteśmy bardzo zależni od funkcji scalania, przeszliśmy na Subversive, która jest wygodniejsza i ma osobną opcję Reintegrate w oknie dialogowym scalania.
Jednym błędem, który może utrudniać scalanie, jest to, że jeśli wybierzesz wersje jawnie, nie zajmie ona ostatniej wymienionej wersji. Np. „101-100” nie łączy r100, a „100” nie łączy w ogóle niczego. (wersja 0.7.5)
I używa tych samych wskaźników, co wtyczka CVS.
Podczas gdy obaj pracuję z Helios, mam niewielką preferencję dla Subclipse z powodu jego doskonałej obsługi bugtraq
właściwości ( szczegóły tutaj ).
The History widok pokazuje oddzielnej kolumnie (zatytułowanych bugtraq:label
, wyświetlając BUGID
s), a menu kontekstowe posiada dedykowany do działania „Bug” Otwórz URL (łączącej się bugtraq:url
) - Nie mogłem dowiedzieć się, jak uzyskać dostęp do dowolnej z tych informacji z wywrotowych.
Używam Subversive od czasu aktualizacji do Ganymede. Używam go z Eclipse w Linuksie (Ubuntu i Fedora Core), Windows XP i Mac OS X.5. Oprócz niektórych problemów z korzystaniem z Subversion 1.5.1 z odpowiednich bibliotek bezpieczeństwa w systemie Mac OS, nie miałem żadnych problemów. Biorąc pod uwagę fakt, że został on przyjęty jako projekt technologiczny Eclipse, jestem skłonny postawić na to swoje zakłady pod względem długoterminowych nadziei.
Tak naprawdę go nie używałem, ale wygląda na to, że Subversive obsługuje „ Check Out As ”, podobnie jak wbudowane wsparcie CVS.
Na przykład, aby wziąć projekt z SVN i móc uruchomić go jako projekt internetowy, można to zrobić za jednym razem. Ale aby uzyskać ten sam wynik w Subclipse, po prostu sprawdzam źródła i uruchamiam:
mvn eclipse: eclipse -Dwtpversion = 2.0
Użyłem obu, i chociaż Subclipse był dla mnie niestabilny, Subversive (przynajmniej w poprzedniej wersji) zablokował konto mojego współpracownika, gdy przypadkowo podał nieprawidłowe dane uwierzytelniające (login sieciowy jest używany do uzyskania dostępu do repozytorium subversion) ).
Z czasem subclipse ulega dezorganizacji. Jeśli Eclipse nie jest regularnie odświeżany, Subclipse prawdopodobnie traci informacje o śledzeniu plików. Szczerze mówiąc, ponieważ mam wtyczkę Easy Explorer , używam Subversive (czasami) do historii i zmieniam informacje, ale łatwo eksploruję i używam TortoiseSVN do zatwierdzania i aktualizacji projektów, o których wiem, że ostatnio zmieniłem.
Właśnie odkryłem, że nie mogę dowiedzieć się, jak wyświetlić różnicę właściwości za pomocą Subclipse. W Subversive wybierasz dwie wersje w widoku historii, kliknij prawym przyciskiem myszy i wybierz porównanie właściwości z wyskakującego okienka. To wystarczy, żebym pozostał przy Subversive.
Powodem próby zmiany było dziwne zachowanie Subversive w systemie OS X: Niektóre automatyczne operacje zwane „aktualizacją pamięci podręcznej svn” powodowały nieprawidłowe działanie procesora po każdym uruchomieniu „aktualizacji svn”, co zawsze trwało irytująco długo.
FWIW, używamy starożytnej wersji serwera SVN (coś 1.4) i wydaje mi się, że pamiętam, że w pewnym momencie pojawiła się aktualizacja Subclipse, która złamała wsteczną kompatybilność, a sedno było takie: „nikt nie powinien być na tak starej wersji SVN i tak ".
Subversive był jedynym, który wydawał się być w stanie poradzić sobie ze starszą wersją. Niestety nie pamiętam szczegółów.
Próbowaliśmy obu w naszym zespole.
Ponieważ Subclipse (ten z Galileo / Helios) miał pewne problemy z uwierzytelnieniem naszego serwera SVN za pośrednictwem VAS, nie mieliśmy problemu gdzie indziej, np. Klient TortoiseSVN, przeglądarki (z wyjątkiem Internet Explorera 7).
Więc zainstalowaliśmy Subversive
i problem został rozwiązany.
Przewaga Subclipse nad Subversive ... TO W rzeczywistości działa!
Użyłem Subclipse dawno temu, kiedy tworzyłem wspólną wtyczkę dla Eclipse, która zależała od Subclipse. Część wtyczki Subclipse nigdy nie stanowiła problemu, chociaż cały Ant wciąż trochę mnie myli, ale dobrą stroną jest to, że nie musisz rozumieć, jak działa część Ant, aby wiedzieć, jak z niej korzystać.
Próbuję dziś zainstalować PDT (który jest zupełnie innym blogiem), a następnie Subversive, ponieważ, podobnie jak wiele innych, jest przedstawiany jako „The Eclipse SVN Plugin”. Nie byłem w stanie zainstalować czterech złączy jednocześnie, więc musiałem instalować je pojedynczo i pojedynczo, próbowałem ich, a jeden po drugim nie mógł się uwierzytelnić na serwerze SVN.
Próbuję PDT i Subversive, ponieważ chcę OSZCZĘDZAĆ czas, nie poświęcając go więcej na różne problemy z wtyczką.
Odinstalowałem Subversive, zainstalowałem Subclipse i tak się połączyłem.
Zaoszczędź sobie czasu i kłopotów, przejdź do Subclipse od samego początku.
Użyłem również obu. Miałem problem z tym, że mam około 150 projektów w moim obszarze roboczym, a Subversive zajęłoby strasznie dużo czasu, gdy wybrałem wszystkie wtyczki i powiedziałem „synchronizuj repozytorium”. Interfejs użytkownika zawiesiłby się na bardzo długi czas. Uważam, że Subclipse jest bardziej stabilny.
W każdym razie często łączę narzędzia. Do niektórych zadań, takich jak sprawdzanie całych gałęzi, wolę wiersz poleceń. Dla innych używam TortoiseSVN . Używam Subclipse głównie do przeglądania historii i przeprowadzania porównań bezpośrednio w narzędziu, a czasami do porównywania (jednak wolę Beyond Compare ).