Szukałem w okolicy, ale nie mogę znaleźć dokładnego opisu tego, co się dzieje z tymi 3 wersjami MSYS. (Jest całkowicie możliwe, że po prostu nie wiem, czego szukać.) Rozumiem, że MSYS to minimalny port narzędzi Linuksa do wspierania programowania przy użyciu MinGW, ale nie jestem pewien, jaki jest związek między nimi trzema lub zespoły, które je opracowały / utrzymują.
Szczególne kwestie do rozwiązania:
- Które z nich są w trakcie aktywnego rozwoju? (W szczególności, czy MSYS jest martwy, a MSYS2 aktywny?)
- Jakie są relacje między grupami, które je utrzymują? (W szczególności, czy zespół MSYS stworzył MSYS2?)
- Czy msysgit używa tylko jednego z pozostałych, czy też ma własną gałąź MSYS?
- Czy któreś z nich są ze sobą zgodne?
- Czy są jakieś problemy ze zgodnością z określonymi wersjami systemu Windows dla któregokolwiek z nich?
- Czy jeden zapewnia główne funkcje w porównaniu z drugim?
Odpowiedzi:
Zastrzeżenie: jestem programistą MSYS2
Chociaż MSYS nie jest martwy, powiedziałbym, że nie wygląda też zbyt zdrowo. Jest to projekt rozpoczęty przez zespół MinGW wiele lat temu jako widelec Cygwin, który nigdy nie nadążał za Cygwin.
msysgit to rozwidlenie nieco starszej wersji MSYS z kilkoma niestandardowymi łatkami, starszymi wersjami Bash i Perl oraz natywnym portem Gita.
MSYS2 to projekt rozpoczęty przez Alexeya Pavlova z zespołu mingw-builds (którzy są oficjalnymi pakietami dla łańcuchów narzędzi MinGW-w64) jako niedawny fork Cygwin, który dokładnie śledzi najnowszego Cygwin, aby nie stał się nieaktualny. Alexey forward przeportował stare łatki MSYS i dodał kilka własnych.
Oprócz zapewnienia niezbędnych narzędzi uniksowych do kompilowania natywnego oprogramowania - deklarowanego celu MSYS - przenieśliśmy menedżera pakietów Pacman z Arch Linux . Pacman to coś więcej niż tylko zarządzanie pakietami binarnymi (choć robi to bardzo dobrze). Posiada infrastrukturę do tworzenia oprogramowania o nazwie makepkg, która umożliwia tworzenie receptur (PKGBUILD i pliki poprawek) do tworzenia oprogramowania.
IMHO, przyjęcie Pacmana znacząco zmienia rzeczy w programowaniu open source w systemie Windows. Zamiast każdego hakować własne skrypty powłoki na zamówienie, aby tworzyć oprogramowanie w niekompatybilny sposób, pakiety mogą teraz zależeć od innych pakietów, a pliki PKGBUILD i powiązane łaty mogą być używane jako odniesienie do tworzenia nowych PKGBUILD. Jest tak zbliżony do systemu Linux, jak (natywny) system Windows (w szczególności Arch Linux) i umożliwia prostą aktualizację wszystkich zainstalowanych pakietów.
Naszym celem jest co najmniej dodatek SP3 dla systemu Windows XP i obsługujemy zarówno 32-bitowy, jak i 64-bitowy system Windows. Prosimy, abyś nigdy nie mieszał MSYS2 z msys lub msysgit. Pacman służy do zarządzania całym systemem i jako taki, pliki z innych systemów będą powodować konflikty.
Staramy się również udostępniać nasze poprawki do projektów, które tworzymy i aktywnie zabiegamy o wsparcie innych projektów open source. Mamy nadzieję, że innym będzie łatwo z nami pracować.
Nasza główna strona internetowa znajduje się na SourceForge i zawiera linki do naszych repozytoriów PKGBUILD. Mamy również bardziej przyjazną dla użytkownika witrynę instalatora na GitHub .
Jeśli chcesz uzyskać więcej informacji, dołącz do nas na IRC (oftc # msys2).
źródło
Git 2.8 (marzec 2016) zawiera bardzo szczegółowe zatwierdzenie, które wyjaśnia znaczenie msys2 dla nowego git-for-windows, który zastąpił msysgit na początku 2015 roku .
Zobacz commit df5218b (13 stycznia 2016) autorstwa Johannesa Schindelina (
dscho
) .(Scalone przez Junio C Hamano -
gitster
- w zobowiązaniu 116a866 , 29 stycznia 2016 r.)W komentarzach pytanie padło w styczniu 2016 roku:
Ray Donnelly odpowiedział wtedy:
Ale ... madz zwraca uwagę, że na początku 2017 roku ten wysiłek się nie udał .
Widzieć:
Alexpux/MSYS2-packages
PR 786git-for-windows/git
nr 284Dlatego wiki wspomina teraz (2018):
Zwróć uwagę, że od wydania aeb582a9 (Git 2.22, Q2 2019) projekt Git for Windows rozpoczął proces aktualizacji do wersji środowiska uruchomieniowego MSYS2 opartej na Cygwin v3.x.
Git 2.22 (drugi kwartał 2019 r.) Zapewni przyszłe testy pod kątem aktualizacji do serii MSYS2 runtime v3.x.
Zobacz commit c871fbe (7 maja 2019) autorstwa Johannesa Schindelina (
dscho
) .(Scalone przez Junio C Hamano -
gitster
- w zatwierdzeniu b20b8fe , 19 maja 2019 r.)źródło
Moje rozumienie powiązań między nimi jest takie
Fiddle z pełną definicją wykresu w syrenie .
źródło