Mój pierwszy Mac

Przeskocz do:

Apple Blog.pl

13.11
Subversion na Maku

Subversion to jeden z kliku systemów kontrolii wersji. W największym skrócie Subversion pozwala na pracę nad jednym projektem nieograniczonej ilości osób, śledzenie dokonywanych zmian oraz kontrolę spójności projektu przez np. Project Managera.

Szczerze nigdy nie byłem fanem tego rozwiązania. Być może zraził mnie do Subversion pierwszy kontakt z systemem tego typu: obsługa przez komendy tekstowe w środowisku DOSowym w Windows. Fuj. Jednak po lekturze porównania dwóch programów obsługujących Subversion na Maku, mogę zmienić zdanie (zwłaszcza, że kończę właśnie poszukiwania programisty i niedługo nie będę już dłubał w kodzie sam).

Porównanie Cornerstone i Versions znajdziecie na stronie Jade Ohlhausera. Polecam wszystkim zainteresowanym. Nie jest to tutorial jak obsługiwać Subversion, ale daje niezłe pojęcie jak się do tego zabrać i czym.

A wy używacie jakiegoś interfejsu do Subversion/CVS?

26 komentarzy do tego tekstu

  1. darek

    Ja od jakiegoś czasu używam Versions, z wiadomych względów (cena), choć oczywiście, jeśli tylko mogę integruję SVN z IDE, bo o to tutaj chodzi. Nie grzebanie po kilku programach tylko zarządzanie projektem poprzez jeden.

  2. MDK

    Jedno słowo: git.

  3. ahjo

    smartSVN 4!!! najbardziej zaawansowany ale i najlepszy jaki jest!

  4. Malin

    Rapidsvn: http://rapidsvn.tigris.org/

    Ewentualnie subclipse (svn dla eclipse’a).

  5. Michał Masłowski

    git – yeah – the new kid on the block :)

    Przyznam jednak szczerze, że niebardzo pojmuję zrażenie się Autora do SVN poprzez wpisywanie czegoś w DOSie, czy Unixowym shellu. Osobiście inaczej nie korzystam. Moim zdaniem jest to trochę karkołomne, ale zawsze daje możliwość ponownego zastanowienia się zanim się coś wrzuci do repo :) OCzywiście, przy dodawaniu +10 plików może wkurzyć. Ale jest też druga strona medalu – jeśli wrzucamy tak dużą zmianę, to może warto pomyśleć o konieczności modularyzacji, czy specjalizacji kodu?

    Co do wątku pierwotnego, jest też darmowy klient – svnX – wystarczająco dobry. Oprócz tego nie zapominajmy o świetnym rozszerzeniu Ciarian Walsha, ProjectPlus, dla TextMate (http://ciaranwal.sh/). Oczywiście dla fanów TM.

    Tutorial do SVN jest dostępny na stronie bezpośredniej subversion.tigris.com. Bardzo dobry wpis na blogu Hivelogic.com dotyczący customowego buildu, który można sobie skompliwować w odrębnej lokalizacji niż domyślna /usr/bin/. Polecam dla tych, którzy lubią być “up to date”. Wpis: http://danbenjamin.com/article.....vn_on_os_x.

    Osobiście skorzystałem i używam ostatnią wersję. Jeśli ktoś potrzebuje dostepu do repo poprzez protokół http (a nie poprzez domyślny svn), to warto pamiętać o konieczności skompilowania jednego dodatku – biblioteki neon, dostępny pod adreseme http://www.webdav.org/neon/.

    Hej, pewnie że to nie jest “makowy” sposób instalowania. Ale za to działa w 100% i można się wiele przy okazji nauczyć. Jeśli termin “nauczenie się” jest dla kogoś waży gorąco polecam. Całość zajmie nie dłużej niż 40 minut, a efekt znakomity. Oczywiście wszystko to dogada się z dowolnym GUI klientem SVN.

  6. Mariusz

    Git. SVN jest niewygodny.

  7. Dominique

    ja używam SVN Bundle w TextMate. Jest bardzo wygodny…

  8. newman

    Ja od dłuższego czasu używam SmartSVN tej darmowej wersji, która w zupełności wystarcza. Niestety, ale muszę przyznać, że TortoiseSVN (nie ma na MacOS, chyba że ostatnio coś się zmieniło) jest o wiele wygodniejsze.
    Oczywiście zawsze można sobie otworzyć Terminal. Też wygodne, tylko trzeba się przyzwyczaić :-)

    Terminala używam jeśli chodzi o GIT, który jest ideologicznie skierowany do projektów OpenSourco-wych, jednak warto używać bo faktycznie jest wygodniejszy i szybszy.

  9. Dominique

    jest też fajny plug-in do QuickSilvera, przydatny jak chcemy commitować pliki których nie edytujemy akurat w TextMate

  10. newman

    aa.. dla zainteresowanych jest Git Bundle dla TM.

  11. bazyl

    SCPlugin 9chyba tak idzie nazwa jest odpowiednikiem TortoiseSVN pod Findera. Integruje się bosko i jest bardzo fajowy w użyciu. Polecam. Pamiętajcie jednak, że obsługa CVS i SVN jest również w samym XCode :P

  12. jara

    Kolega mnie zaraził Git’em. Naprawdę dobra rzecz, wcześniej używałem SVN

  13. Maciej Łebkowski

    No dobra… To teraz odrobinę ode mnie.

    Background: ponad dwa lata doświadczenia z subversion; praca w zespole kilku osób (obecnie koło 7). I nie mówię tu o korzystaniu z SVN zamiast backupu, tylko o poważnym wykorzystywaniu możliwości tego systemu.

    Poza tym znam różnicę pomiędzy distributed vcs (m.in. git) a centralized vcs (subversion) — a niektórzy, co widać po komentarzach, nie załapali, że jest to trochę co innego. I żeby nie zaczynać flejma — dvcs i cvcs mają inne zastosowania. Tak, git jest lepszy do szeroko rozumianego open-source. Svn lepiej nadaje się w środowiskach małych i średnich firm. No ale to każdy musi sam wybrać wg. potrzeb, poza tym to OT jest.

    Po przetestowaniu *wszystkich* dostępnych na maka programów (zarówno tych natywnych jak i tych w javie) oraz kilku pluginów do popularnych edytorów, stwierdzam, że Tortoise nie ma sobie równych.
    Po pierwsze, żaden z nich nie daje pełnej funkcjonalności SVN-a. Zwykle jest to jakaś wybrana część, przeznaczona pod konkretne zastosowanie. Niestety – ile developerów, tyle use case`ów, a te programy przygotowane są do jednego, najwyżej dwóch. W praktyce – dla mnie to było takie “demo”. Zupełnie nieużyteczne w praktyce.

    Nie mówię tego, żeby się pośmiać z developerów tych aplikacji. Po prostu przy ich pomocy nie jestem w stanie zrobić tego, co na codzień robię z SVN.

    No i jeszcze trochę o moich ulubieńcach: Versions i SCPlugin. Pluginy do edytorów u mnie w ogóle odpadają, bo w SVN trzymam różne pliki, niekoniecznie kod (zdarzają się flaszki, pliki worda i inne).
    Beta Versions wyszła na świat AFAIR w lipcu i od tego czasu chłopaki z Sofa mają chyba sporo pracy. :) Śledzę rozwój tego programu na jego grupie dyskusyjnej (jest link na strone) i nowe funkcjonalności, jakie się pojawiają, w porównaniu do feature requestów userów są naprawdę mizerne. Dlatego nie wróżę, aby kiedykolwiek Versions stało się kombajnem do SVN; raczej pozostanie ładnym opakowaniem kilku podstawowych funkcji. I byłoby to całkiem przyjemne, gdyby dodali do tego np. rozwijany terminal (ala Visor od blacktree), w którym mógłbym wklepać z palca to, czego program nie daje mi w GUI. Niestety – nie ma takich planów. :(
    SCPlugin z kolei jest doskonały do podstawowych zastosowań. Integracja z sytemem wzorowa (nie muszę otwierać osobnej aplikacji – wszystko widzę w finderze), choć nadal posiada kilka bugów (sygnalizacja stanu pliku nie działa za dobrze na podmontowanych dyskach, np. przez sshfs).

    Podsumowując: jeśli nie zamierzasz wykorzystywać więcej niż podstawowe funkcjonalności SVN, kup sobie ładnie opakowane Versions lub zainstaluj wygodnego i podstawowego SCPlugin. Do zaawansowanych zadań musisz przeprosić się z Terminalem i zacząć korzystać z polecenia `svn`.

  14. Łukasz Adamczak

    Ja też głównie SVN Bundle w TextMate, a czasem z palca w terminalu. I zdecydowanie potrafiłbym przeżyć bez żadnej nakładki :)

  15. Michał Masłowski

    Maciej Łebkowski – uderzyłeś w sedno :)

  16. jaco

    Dla mnie doświadczenia z bundle dla TM to koszmar – zdecydowanie wolę SCPlugin do prostych zadań i terminal do bardziej zaawansowanych. Od alphy Versions jestem jego zwolennikiem ;)

  17. mls

    Próbowałem już z niejednej nakładki korzystać, ale mimo wszystko pozostaję przy konsoli… Tak jest najwygodniej i ma się największą kontrolę nad wersjonowaniem :) Ostatecznie SCPlugin, ale to już nie to samo…

  18. Dawid

    Osobiście nie wyobrażam sobie teraz pracy bez jakiegokolwiek systemu wersjonowania plików.

    Do SVN’a wykorzystuję albo terminal, albo Versions (wersja beta, ale już uważam, że jest to najlepszy klient z jakiego korzystałem).

    Wtyczki do Eclipse i TextMate też przerobiłem – u mnie kończyło się to frustracją.

  19. KrzyK

    Subclipse, czyli wtyczka do Eclipse.

  20. Wojtek

    Jak wyżej, subclipse.

  21. g-seven

    Każdy lubi to co chce. Ja już dawno się nauczyłem się, że aplikacje są Mac-style (jeden przycisk) lub terminal. W przypadku SVN testowałem chyba wszystko, włącznie z nawet jakimś ZigZag-coś-tam :> I jak miałbym stawiać na coś z svn to stawiałbym na ‘svn’ (tak, terminalowe CLI). Z kilku powodów:
    1. (dla wielu makowców najważniejszy): FREE :>
    1.5. Jest w systemie zaraz po instalacji.
    2. zanim gdzieś trafię w jakimkolwiek produkcie to już dawno to wklikam w terminalu.
    3. dla mnie ikonka, która pokazuje, że plik został zmieniony a literka ‘M’ w CLI nie robi różnicy. Można się kłócić, co lepiej wygląda. Litera ‘M’ na pewno wygląda SZYBCIEJ, nawet przy założeniu, że ikonka wspiera CoreVideo czy nawet CireIcon :P
    W aplikacjach GUI zawsze miałem problemy, albo były problemy z wersjami repozytoriów SVN, albo się wywalały (szczególnie w czasach beta). Jak juz chodziło to commit trwał wiekami, w porównaniu do terminalowej odmiany.
    I chociaż wyglądają ładnie to zawsze jak nie urok to sraczka. Czasami trzeba doinstalować jakiś zewnętrzny filemerger (od paru dni w Cornerstone można używać TextMate). Po co? Wszystko potrzebne jest w systemie za friko. Wystarczy poczytać chwilkę i zapamiętać kilka opcji. Generalnie ludzie używający SVN (czy innego systemu zarządzania wersjami) siedzą nie robią tego myszką, więc niejako praca na klawiaturze jest dla nich normą, więc 3 komendy więcej nie powinno stanowić problemu. Jeżeli dla kogoś literka (która nota bene coś mówi) nie jest w stanie zinterpretować co dana rzecz znaczy to chyba SVN nie jest dla niego :>
    TextMate też ma ciekawe wsparcie do SVNa, problem jest taki, że jak robi się zdalnie to już wymaga zewnętrznych aplikacji. Jest oczywiście CODA, ale tu znowu brakuje elastyczności textmate’a (chociaż opcja pluginów i third-party syntax daje tu pewne szanse). Zawsze jest tak, że chce się połączyć wiele opcji z różnych programów, albo szukać takiego jednego, co robi to wszystko, póki co takiego nie ma ;>
    Apropos git’a to pewnie i jest szybszy i pewnie nawet lepszy. O wiele łatwiej jest tworzyć aplikację bazując na dotychczsowym standardzie. To usunąć, to dodać, to połączyć. Nie miałem sie okazji przyjrzeć póki co, ale na pewno dam mu szansę. W tej chwili jego konkurencja z SVN jest symboliczna tam, gdzie ludzie mają stworzone środowiska pracy. Jak ktoś coś tworzy od nowa to nie ma problemu, żeby od razu zaczął pracę z gitem.
    Reasumując terminalowy svn póki co rządzi, choćby tym, że można sobie zrobić repozytorium własne (chociaż może i można, w sumie to nie próbowałem). 5 komend na krzyż i jestesmy w domu. w darmowym domu :>

  22. Lolo

    Wszystkim onanistom svnowo-terminalowym proponuje spróbować mergować i rozwiązywać konflikty w większym, bardziej płynnym projekcie. Już widze z jaką radością pracujecie w Waszym jakże optymalnym środowisku tekstowym.

    Nic na maca nie dorasta do pięt Tortoisowi, niestety… (jeśli ktoś szuka mergowania to najbliżej Smart SVN).

  23. Maciej Łebkowski

    No i co takiego trudnego jest w merge’owaniu? Szczególnie w SVN1.6, gdzie można używać “^” zamiast pełnego URL-a?
    Rozwiązywanie konfliktów z kolei to nie zadanie dla SVN-a, tylko narzędzia porównawczego, typu standardowe filemerge.

  24. Lolo

    @Maciej Łebkowski: czy ja pisze, że się nie da? Dopłynąć na drugi brzeg można wpław lub motorówką, ten kto nie ma motorówki będzie mówił, że nie ma nic lepszego jak rozprostować kości. Zrób większy projekt, gdzie mergujesz wybiórczo rewizje z jednego brancha do drugiego w swoim terminalu, a potem zrób to na tortoisie – pogadamy wtedy.

  25. Maciej Łebkowski

    @Lolo, A Ty baranka zrób :-)
    Nie mówilem, źe “da się”, tylko, źe nie ma w tym nic trudnego i nie widzę tu jakichś wielkich przewag tortoise (w tym konkretnym zadaniu). EOT dla mnie.


Strony, które pisały o tym tekście

  1. 12 programów do Subversion w porównaniu - Apple Blog

    [...] temat z listopada, kiedy linkowałem ciekawe porównanie dwóch klientów Subversion, dziś The Apple Blog prezentuje1 porównanie aż dwunastu programów do obsługi SVN na [...]

More in Software (730 of 1735 articles)