Разница между GNUWin32 и cygwin

Я не могу понять разницу между этими двумя понятиями.

Похоже что один (GNUWin32) это слой поверх окон (например,MSYS) и
 Другой (Cygwin) это что-то еще (?)

Что это значит? Когда бы я использовал один поверх другого? Они оба подходят для одного и того же?

Я хочу использовать его в основном для git, но хочу оставить свои возможности открытыми для обучения и выполнения всех задач * nixy.

Есть ли другой инструмент для этого? Будетmsysgit быть лучше подходит для этого?
Существуют ли какие-либо ресурсы, которые исчерпывающе изучают различия всех этих * nix-платформ?

Ответы на вопрос(1)

Решение Вопроса

Cygwin это библиотека, которая стремится сделать программы UNIX способными компилироваться и запускаться в системах Windows с минимальными изменениями или без них, а также полный набор пакетированных инструментов и приложений UNIX, скомпилированных с этой библиотекой. Это почти полная оболочка для Windows. Он включает в себя X-сервер и огромное количество программ, которые вы можете найти в дистрибутиве Linux. Он отлично подходит для людей, которые хотят изучать или использовать командную строку UNIX в Windows.

MSYS в основном это порт инструментов UNIX, необходимых для создания пакетов в стиле GNU (сconfigure и т.д.) в системах Windows сMinGW компилятор. Он использует вариант библиотеки Cygwin, модифицированный, чтобы пожертвовать некоторой совместимостью для эффективности, и более дружественный к Windows.

GnuWin32 это просто порт некоторых инструментов GNU для Windows. Как и MSYS, он используетmsvcrt.dll, а также дополнительная библиотека для обеспечения некоторых функций совместимости с UNIX. По-видимому, его основная цель - позволить программам Windows и командным файлам напрямую использовать некоторые программы и библиотеки GNU.

По большей части они все предоставляют программы UNIX для Windows, но есть много тонких отличий, в том числе:

  • Intent. Cygwin is for people who want to use UNIX on their Windows OS. MSYS is for people who want to build Windows programs using the GNU/UNIX build tools. GnuWin32 is a port of individual GNU programs and libraries to Windows.
  • Text files, particularly line endings. Cygwin lets you use CR/LF or LF. MSYS expects LF line endings. GnuWin32 programs expect CR/LF line endings.
  • Supplied programs. In particular, Cygwin has a lot more packages, and GnuWin32 doesn't provide any shells.

Что касается Git, он доступен с Cygwin - эту версию можно использовать в каталоге Windows (доступный в/cygdrive). Также, как уже упоминалось, естьmsysgit.

Ваш ответ на вопрос