MCET-SEC 5: Repozytorium po raz drugi
W drugiej części serii moich artykułów gdzie tworzę MCET-SEC: nowoczesny i wydajny toolchain dla małych ale przedsiębiorczych firm informatycznych wybrałem Gogsa jako repozytorium dla mojej firmy – CODEFUSION. Działa sprawnie już mniej więcej od miesiąca i zajmujemy się jednym z projektów właśnie na nim. Właśnie otrzymałem pierwsze oceny od moich programistów. Były one dość krytyczne. Jest jeden aspekt, który nie spodobał się szczególnie moim deweloperom: sposób w jaki komentowane są pull requesty. Przywykli oni do sposobu w jaki robi się to w Bitbuckecie gdzie możesz skomentować i dołączyć się do dyskusji osobno przy każdej linii kodu. W praktyce wygląda to jak na zrzucie poniżej:
Niestety w Gogsie można otworzyć tylko jedną uwagę na cały pull request. Więc kończyło się to zwykle tak:
- File x/y/z/class.cs
- Oh, no!
- Jadi, jadi jada.
- This needs to be changed.
- File a/b/c/soemething.js
- WTF? Are you crazy?
- Do not do it!
I tak dalej. Rozumiem ich ból i muszę przyznać, że muszę dogłębniej sprawdzać featury danego rozwiązania podczas mojego researchu. Mój błąd. Ale może nadal jest nadzieja? Wygląda na to, że jest – nie tylko my uważamy, że w gogsie powinno zostać to zaimplementowane. Jest na to feature request z 2015 roku: https://github.com/gogs/gogs/issues/1644
Czego można się dowiedzieć z wyżej zlinkowanego requesta?
Twórca Gogsa dosyć ostro ocenił ten pomysł: “Wybierz GitLaba jeśli potrzebujesz bogatego w funkcjonalności klienta Gita. Serio! Albo zapłać GitHub’owi, to tylko 7 dolarów miesięcznie za nielimitowane prywatne repozytoria. Albo ściągnij mój projekt i zrób z nim cokolwiek chcesz!“
Jest jak jest, Gogs jest otwartoźródłowy ale wspiera go tylko jedna osoba. Tylko jedna osoba decyduje co jest dobre a co złe. Wiedziałem o tym kiedy szukałem odpowiedniego rozwiązania ale nie uważałem to za problem – zignorowałem to. Co okazuje się nie być dobrą decyzją. Musimy zrobić krok wstecz i zastanowić się nad innym systemem dopóki zmiana nie będzie dla nas bolesna.
Jest kilka dobrych opcji, łącznie z Gogsem. Na przykład, jest zmieniona wersja Gogsa, która nazywa się Gitea. To wersja rozwijana i wspierana przez społeczność i funkcjonalność, której szukamy jest tam zaimplementowana. W tym linku wyjaśniają dlaczego rozwijają Gogsa na własną rękę: https://blog.gitea.io/2016/12/welcome-to-gitea/
Jest tam też porównanie funkcji Gitei do innych otwartoźródłowych projektów. Wygląda dobrze. Wygląda, że mam coś do zrobienia. Wszystko dla moich programistów!