ogolnie to chyba dopiero niedawno git przescignal svn w sensie używania go? bo zanim się przeskoczy na inny system kontroli wersji to może zająć trochę czasu.
Więc ogólnie chyba dalej svn jest dość często używany ?
Jest używany, jeszcze długo będzie, i pewno nigdy nie przestanie. Za wybór systemu kontroli wersji odpowiadają zazwyczaj "doświadczeni" ludzie, a że spora część z nich jest tłukami, która dawno przestała się rozwijać, to wybierają najnowszą technologię z początku ich kariery, czyli SVN. Git jest w końcu zbyt nowoczesny (10 lat to przecież chwila).
ja wole gita , ale są też stronki co udowadniaja co innego ;)
https://svnvsgit.com/
Ciekawe bardzo.
- Pierwsze słyszę, aby ktokolwiek twierdził, że repozytoria Gita są mniejsze. No, ale niech im będzie, walka z samodzielnie wymyślonym wrogiem jest łatwiejsza.
- Branch w SVN jest operacją ZDALNĄ, więc czas jego wykonania zależy od połączenia z netem. Jak pracujesz w banku, do którego się łączysz przez VPN, a serwer stoi na jakiejś słabej VMce, to branchowanie trwa minuty. Nie wspominając już o tym, że jak nie masz sieci, to nie zrobisz brancha.
- W projektach korzystających z SVN raczej był zakaz stosowania jakichś "magicznych" rozwiązań, zawsze musiałem wybierać startowe rewizje. Widać SVNowi devopsi słabo wierzą w jego możliwości. Ale to naprawdę nie jest problem. Problemem jest to, że SVN w ogóle nie potrafi mergować.
- Trzeba jeszcze mieć wersję 1.7 i zmigrowane do niej repozytorium. A jak klient tego nie potrzebuje, bo dla niego to tylko zbędne koszty, to programista się musi męczyć.
- Patrz pkt. 1.
- Tu już przywalili jak łysy grzywką o parapet...
a) no access control
- no tak, bo użytkownicy SVN to dzieci, które wymagają opieki. Profesjonaliści nie mają takich problemów.
b) full copy of repository on every computer
- to raczej główna zaleta niż wada. Tylko SVNowiec mógł wpaść na pomysł, że to źle, bo oni wszak lubują się w ogromnych repozytoriach, zawierających tysiące oddzielnych aplikacji. Profesjonaliści nie mają takich problemów.
c) no exclusive files locks
- to naprawdę straszne, że nikt nie może mi zabronić edytowania pliku. Jak się pisze klasy na 10 tysięcy linii kodu to faktycznie może być problem. Ponownie - profesjonaliści nie mają takich problemu.
- Ciekawe jak działają duże repozytoria SVN, zwłaszcza gdy przeglądamy historię w poszukiwaniu zmiany, która coś zepsuła. Ciekawe swoją drogą, czy SVNowcy słyszeli np. o mikroserwisach.
- Problem natury higienicznej. Jeśli używa się zdrowego rozsądku i racjonalnego podejścia do pracy, to nie występuje. No, ale to rzeczy chyba nieznane w świecie SVN.
- To fakt - nie zawsze. 95% to nie jest zawsze.
- No to fakt, Gita trzeba się nauczyć. Nie tylko obsługi, ale też jego filozofii i podejścia do pracy. A, że SVNowcy tego nie robią, to wiecznie narzekają.
- Kolejny problem natury higienicznej. Nie zmienia się nazwy pliku i jego zawartości jednocześnie, trzeba to podzielić na dwa commity. No, ale jak mieliby to zrozumieć SVNowcy, którzy robią góra jeden commit dziennie.
- To nie jest problem związany z kontrolą wersji, bo po prostu nie przechowuje się tajnych informacji razem z kodem. Do tego celu służy konfiguracja serwera CI, do której dostęp mają dostęp tylko admini.
- Jeśli jedna osoba pracuje nad niemerdżowalnym zasobem, to inne go nie ruszają. Nie trzeba do tego zaawansowanego systemu uprawnień, wystarczy użycie mózgu, a potem ust albo np. maila. Generalnie komunikacja to podstawa w pracy.
Szkoda, że nie obalili "mitów" z konfliktem wersji na identycznej linijce dodanej w dwóch różnych gałęziach, z koniecznością pracy zdalnej, z niemożnością przeglądania historii bez połączenia z internetem...
Cały "problem" wynika z tego, że zatwardziali SVNowcy, którzy są przyzwyczajeni do niewygody i powolnego działania, do robienia jednego commita na tydzień i do ciągłego rozwiązywania fałszywych konfliktów, nigdy nie zrozumieją, że system kontroli wersji to narzędzie dla programisty. Nie dla zespołu, nie dla managera, nie dla administratora, nie dla gościa od deploymentu, ale dla programisty. Dlatego nie rozumieją narzędzia, które daje programiście wolność organizacji pracy; które pozwala na zapisanie swojego dotychczasowego toku myślenia, a następnie go porzucenie w celu wypróbowania różnych sposobów rozwiązania problemu; które daje możliwość powrotu do poprzedniego pomysłu bez tracenia całodziennej pracy.
Z tego samego powodu, poziom recydywy wśród osób odsiadujących wieloletnie wyroki jest taki duży. Oni także nie rozumieją wolności, po wyjściu z więzienia nie potrafią się odnaleźć w nowej sytuacji, więc znowu popełniają przestępstwo, żeby do więzienia wrócić, bo tylko w znanym sobie miejscu czują się bezpiecznie.