Msys, msys2 और msysgit एक दूसरे से कैसे संबंधित हैं?


162

मैं चारों ओर खोज रहा हूं, लेकिन मैं MSYS के इन 3 संस्करणों के साथ क्या हो रहा है, इसका गहन विवरण नहीं पा सकता हूं। (यह पूरी तरह से संभव है कि मैं नहीं जानता कि क्या देखना है।) मुझे समझ में आता है कि एमएसवाईएस मिनिगीडब्ल्यू का उपयोग करके विकास का समर्थन करने के लिए लिनक्स उपकरणों का एक न्यूनतम बंदरगाह है, लेकिन मैं उन तीनों के बीच संबंध पर स्पष्ट नहीं हूं टीमें जो उन्हें विकसित / बनाए रखती हैं।

विशेष मुद्दों को संबोधित करने के लिए:

  • सक्रिय विकास के तहत कौन से हैं? (विशेष रूप से, क्या MSYS मृत है और MSYS2 सक्रिय है?)
  • उन समूहों के बीच क्या संबंध है जो उन्हें बनाए रखते हैं? (विशेष रूप से, क्या MSYS टीम ने MSYS2 बनाया है?)
  • क्या msysgit सिर्फ दूसरों में से एक का उपयोग करता है, या क्या उनके पास MSYS की अपनी शाखा है?
  • क्या इनमें से कोई एक-दूसरे के साथ संगत हैं?
  • क्या इनमें से किसी के लिए विंडोज के विशेष संस्करणों के साथ कोई संगतता समस्याएं हैं?
  • क्या एक दूसरे के ऊपर प्रमुख विशेषताएं प्रदान करता है?

8
@JamesJohnston इस प्रश्न को लिखने से पहले, यह (और यह) मेरी समझ थी कि MSYS और MINGW को Cygwin के प्रतियोगी के रूप में बनाया गया था, क्योंकि Cygwin (कम से कम पहले; मैं इसकी वर्तमान स्थिति के बारे में सुनिश्चित नहीं हूं) ने किसी भी नए कोड के माध्यम से जाने के लिए मजबूर किया। सीधे विंडोज एपीआई को कॉल करने के बजाय एक गैर-निष्पादित संगतता परत। जैसे, मैंने हमेशा MSYS और उसके रिश्तेदारों को Cygwin की तुलना में हल्के वजन प्रणाली के रूप में देखा है, इसलिए मुझे Cygwin की वर्तमान स्थिति में कोई दिलचस्पी नहीं थी। यदि आप रुचि रखते हैं, तो एक अच्छा अनुवर्ती प्रश्न बना सकते हैं; यह पूछने के लिए स्वतंत्र महसूस करें कि क्या आप इसे विषय पर होने के लिए वाक्यांश दे सकते हैं।
jpmc26

4
मैं उस छाप के तहत था जब तक मैं कल कवर के तहत खुदाई शुरू कर दिया। MSYS के तीन संस्करणों के सभी का उल्लेख आप Cygwin के कांटे हैं, जैसा कि @Ray Donnelly बताते हैं। तो उस अर्थ में, वे सभी "साइग्विन" हैं - और यह सवाल वास्तव में साइगविन और उसके कांटे के बारे में है। जैसा कि रे बताते हैं, ऐसा लगता है कि MSYS बर्बाद हो गया है। मैंने खुद MSYS कोड की जांच की; यह निराशाजनक रूप से अप्रचलित है और साझा मेमोरी पर बुनियादी सिंक्रनाइज़ेशन का भी अभाव है। अनुचर बस अपस्ट्रीम के साथ नहीं रहते थे, और साझा मेमोरी के लिए फ़िक्स नहीं मिला जो अपस्ट्रीम Cygwin को मिला।
जेम्स जॉन्सटन

9
@JamesJohnston मुझे लगता है कि आपको गलत समझा गया। मेरा कहना है कि Cygwin संगतता परत के बिना नए बायनेरिज़ के निर्माण का समर्थन नहीं करता है (नहीं?)। MSYS और रिश्तेदारों, MinGW के माध्यम से करते हैं। जैसे, मुझे Cygwin में कोई दिलचस्पी नहीं है, अच्छी तरह से वाकिफ होने के बावजूद कि उन सभी की जड़ें Cygwin में हैं। चूंकि मुझे साइगविन में कोई दिलचस्पी नहीं है, इसलिए इसके बारे में पूछने का कोई मतलब नहीं था। यह प्रश्न मुख्य रूप से स्वयं के लिए कांटे के इतिहास और इसके कारणों और इसके कुछ अल्पविकसित परिणामों पर केंद्रित है। MSYS के विभिन्न संस्करणों के बीच चयन करने का प्रयास करते समय, Cygwin का इतिहास वास्तव में प्रासंगिक नहीं है।
jpmc26

1
मुझे समझ में नहीं आ रहा है कि MSYS2 डेवलपर्स और Cygwin डेवलपर्स के लिए शर्तें क्यों नहीं आ सकती हैं और स्क्वैब्लिंग छोड़ सकते हैं ताकि हम इन बेवकूफ कांटों को रोक सकें। साइग्विन को थोड़ा ध्यान दिया जाता है क्योंकि यह है, लेकिन कम से कम इस पर काम करने वाले रेड हैट कर्मचारी (ओं) को भुगतान किया जाता है; कांटे भी नहीं मिलते। मुझे पिछले साल से Cygwin मेलिंग सूची में MSYS2 होने के बारे में चर्चा मिली, बस Cygwin के लिए एक हुक DLL होना चाहिए, ताकि MSYS2 को पूरे Cygwin DLL को कांटा न जाए; स्पष्ट रूप से वे चर्चाएँ दूर नहीं हुईं। जबकि MSYS2 में अब ऊर्जा है, मैं इसे MSYS की तरह स्थिर करता हूं अगर / जब MSYS2 स्वयंसेवक इसे अपडेट करना बंद कर देते हैं
जेम्स जॉन्सटन

1
@JamesJohnston मुझे लगता है कि आप अपने जवाब में IRC चैनल रे उल्लेख पर अपने सवालों के बेहतर जवाब पाने में सक्षम हो सकते हैं। यह टिप्पणी श्रृंखला लंबी और विषय से भटक रही है।
jpmc26

जवाबों:


178

अस्वीकरण: मैं एक MSYS2 डेवलपर हूं

जबकि MSYS मृत नहीं है, मैं कहूंगा कि यह बहुत स्वस्थ नहीं लग रहा है। यह एक परियोजना है जिसे मिनगव टीम ने कई साल पहले Cygwin के कांटे के रूप में शुरू किया था जो कभी भी Cygwin के साथ नहीं रखा गया था।

msysgit कुछ कस्टम पैच, बैश और पर्ल के पुराने संस्करणों और Git के मूल पोर्ट के साथ MSYS के थोड़े पुराने संस्करण का एक कांटा है

MSYS2 एक प्रोजेक्ट है जिसे मिंगव-बिल्ड टीम के एलेक्सी पावलोव द्वारा शुरू किया गया है (जो मिनगॉ-डब्ल्यू 64 टूलचाइन्स के लिए आधिकारिक पैकर्स हैं) सिग्विन के हालिया कांटे के रूप में जो नवीनतम सिग्विन को बारीकी से ट्रैक करता है, जो इसे समाप्त नहीं करता है। अलेक्सी ने पुराने MSYS पैच को पोर्ट किया और अपने कुछ जोड़े।

साथ ही आवश्यक यूनिक्स उपकरण प्रदान करना, जिसके साथ देशी सॉफ्टवेयर - MSYS का घोषित लक्ष्य - हमने आर्क लिनक्स से Pacman पैकेज मैनेजर को पोर्ट किया । Pacman सिर्फ बाइनरी पैकेज के प्रबंधन के बारे में अधिक है (हालांकि यह बहुत अच्छी तरह से करता है)। इसमें एक सॉफ्टवेयर बिल्डिंग इन्फ्रास्ट्रक्चर है जिसे मेकपैक कहा जाता है जो सॉफ्टवेयर बनाने के लिए व्यंजनों (PKGBUILD और पैच फ़ाइलों) के निर्माण की अनुमति देता है।

IMHO, Pacman को अपनाने से विंडोज पर ओपन सोर्स डेवलपमेंट के लिए चीजें काफी बदल जाती हैं। एक हॉज-पॉज, असंगत तरीके से सॉफ्टवेयर बनाने के लिए अपनी खुद की bespoke शेल स्क्रिप्ट पर हैक करने के बजाय, पैकेज अब अन्य पैकेज और PKGBUILD फ़ाइलों पर निर्भर कर सकते हैं और संबंधित पैच को नए PKGBUILDs के निर्माण के लिए एक संदर्भ के रूप में उपयोग किया जा सकता है। यह लिनक्स सिस्टम के समान है (देशी) विंडोज (विशेष रूप से आर्क लिनक्स) प्राप्त कर सकता है और सभी स्थापित पैकेजों के सरल अद्यतन के लिए अनुमति देता है।

हम Windows XP SP3 को न्यूनतम के रूप में लक्षित करते हैं और 32-बिट और 64-बिट विंडोज दोनों का समर्थन करते हैं। हम पूछेंगे कि आप MSYS2 को कभी भी msys या msysgit के साथ नहीं मिलाएंगे। Pacman का उपयोग पूरे सिस्टम को प्रबंधित करने के लिए किया जाता है और जैसे, अन्य सिस्टम की फाइलें टकराव का कारण बनेंगी।

हम अपने पैच को उन परियोजनाओं के साथ ऊपर उठाने की कोशिश करते हैं जो हम बनाते हैं और अन्य खुले स्रोत परियोजनाओं से सक्रिय रूप से योगदान करते हैं। हमें उम्मीद है कि दूसरों को हमारे साथ काम करने में आसानी होगी।

हमारी मुख्य वेबसाइट SourceForge पर है , और इसमें हमारे PKGBUILD रिपॉजिटरी के लिंक हैं। हमारे पास GitHub पर एक अधिक उपयोगकर्ता के अनुकूल इंस्टॉलर साइट है

यदि आप अधिक जानकारी चाहते हैं तो हमें IRC (intc # msys2) पर शामिल होने के लिए स्वतंत्र महसूस करें।


6
क्या msys2 का उपयोग गिट बनाने और चलाने के लिए किया जा सकता है (अर्थात msysgit को बदलें)।
Eckes

10
MSYS2 में एक git पैकेज है। यह मूल संस्करण के विपरीत MSYS2 संस्करण है। Git स्थापित करने के लिए: pacman -S git .. हमारे पास MINGW- पैकेज रिपॉजिटरी में msysgit के प्रगति पोर्ट में एक काम भी है।
रे डोनली

16
नहीं, हमारा MSYS2 गिट पूर्ण और हैक-मुक्त है। हम इसे अन्य पैकेजों के विकास में बड़े पैमाने पर उपयोग करते हैं। एक चिंता है कि MSYS2 (जैसा कि यह साइगविन का एक कांटा है) फ़ाइल संचालन के लिए ओवरहेड का एक अच्छा सौदा जोड़ता है और क्योंकि गिट फ़ाइल-ऑपरेशन-भारी है जो एक देशी गिट तेज होगा। इसको साबित करने या नापसंद करने का तरीका दोनों के पास है और उन्हें बेंचमार्क करना है, इसलिए हम यही करेंगे। मुझे यहां शर्तों के बारे में सावधान रहना चाहिए क्योंकि मेरे संदर्भ में msysgit के लिए दो अलग-अलग चीजें हैं, देशी विंडोज गिट के साथ msys-fork और देशी विंडोज गिट भी। यहाँ मैं बाद की बात कर रहा हूँ!
रे डोनली

7
@ मुझे लगता है कि मैं अभी कुछ महीनों के लिए git के लिए MSYS2 का उपयोग कर रहा हूँ कहना चाहता हूँ। MSYS2 में कुछ रफ एरिया हैं (सॉफ्टवेयर क्या नहीं है?), लेकिन मैं इसका इस्तेमाल करके बहुत खुश हूं। उनमें से कोई भी खुद से संबंधित नहीं था।
jpmc26

7
Msys2 का वादा मेरी उम्मीदों पर खरा उतर रहा है। ऊपर अच्छा काम करते हैं, @RayDonnelly रखें
bvj

73

Git 2.8 (मार्च 2016) में एक बहुत विस्तृत कमिट शामिल है जो नई git-for-windows के लिए msys2 के महत्व को बताती है जिसने 2015 की शुरुआत में msysgit को बदल दिया था

देखें df5218b प्रतिबद्ध द्वारा (13 जनवरी 2016) जोहानिस Schindelin ( dscho)
(द्वारा विलय Junio सी Hamano - gitster- में प्रतिबद्ध 116a866 , 29 जनवरी 2016)

एक लंबे समय के लिए, विंडोज के लिए Git, Git के 2.x रिलीज के पीछे पिछड़ गया क्योंकि Windows डेवलपर्स के लिए Git यह चाहता था कि बड़ा छलांग एक अच्छी तरह से आवश्यक कूद के साथ MSys2 से MSys2 तक दूर हो।

यह समझने के लिए कि यह इतना बड़ा मुद्दा क्यों है, यह ध्यान देने की जरूरत है कि Git के कई हिस्से पोर्टेबल C में नहीं लिखे गए हैं, लेकिन इसके बजाय Git एक POSIX शेल पर निर्भर है और पर्ल उपलब्ध होने के लिए

स्क्रिप्ट का समर्थन करने के लिए, Git for Windows को बैश और पर्ल के साथ कम से कम POSIX इम्यूलेशन लेयर को शिप करना पड़ता है , और जब अगस्त 2007 में Git for Windows प्रयास शुरू हुआ, तो यह डेवलपर MSys का उपयोग करके व्यवस्थित हो गया, जो Cygwin के एक स्ट्रिप्ड डाउन वर्जन का उपयोग करता है
नतीजतन, परियोजना का मूल नाम "msysGit" था (जो दुख की बात है, बहुत भ्रम का कारण बना क्योंकि कुछ विंडोज उपयोगकर्ताओं को एमएसआई के बारे में पता है, और यहां तक ​​कि कम देखभाल भी)।

Windows के लिए Git के C कोड को संकलित करने के लिए, MSys का उपयोग किया गया था: यह GNU C कंपाइलर के दो संस्करणों को स्पोर्ट करता है:

  • POSIX इम्यूलेशन लेयर से जुड़ा एक लिंक
  • और एक अन्य जो सादे Win32 API को लक्षित करता है (फेंके गए कुछ सुविधा कार्यों के साथ)।

विंडोज के निष्पादन के लिए Git उत्तरार्द्ध का उपयोग करके बनाया गया है, और इसलिए वे वास्तव में सिर्फ Win32 प्रोग्राम हैं। जो नहीं करते हैं, उनमें से POSIX एमुलेशन लेयर की आवश्यकता को निष्पादित करने के लिए, बाद वाले को MSGW कहा जाता है जब पूर्व MSys निष्पादनयोग्य कहा जाता है

MSys पर यह निर्भरता चुनौतियों का सामना करती है, हालांकि:

  • MSys रनटाइम के लिए हमारे कुछ बदलाव - विंडोज के लिए Git का बेहतर समर्थन करने के लिए आवश्यक - अपस्ट्रीम को स्वीकार नहीं किया गया था, इसलिए हमें अपना कांटा बनाए रखना था।
  • इसके अलावा, MSys रनटाइम का समर्थन करने के लिए आगे विकसित नहीं किया गया था जैसे कि UTF-8 या 64-बिट, और इसके अलावा एक पैकेज प्रबंधन प्रणाली की कमी के अलावा बहुत बाद में (जब mingw-getपेश किया गया था), MSys / MinGW परियोजना द्वारा प्रदान किए गए कई पैकेज संबंधित से पिछड़ गए स्रोत कोड संस्करण, विशेष रूप से बैश और ओपनएसएसएल में।

थोड़ी देर के लिए, विंडोज प्रोजेक्ट के लिए Git ने उन पैकेजों के नए संस्करणों को बनाने की कोशिश करके स्थिति को मापने की कोशिश की, लेकिन स्थिति जल्दी से अस्थिर हो गई, विशेष रूप से समस्याओं के साथ जैसे हार्टबल बग को तेजी से कार्रवाई की आवश्यकता होती है जिसका विकासशील के साथ कोई लेना-देना नहीं है। आगे विंडोज।

खुशी से, इस बीच में MSys2 प्रोजेक्ट ( https://msys2.github.io/ ) उभरा, और विंडोज 2.x के लिए Git का आधार चुना गया।
MSys की तरह, MSys2 Cygwin का एक स्ट्रिप्ड डाउन वर्जन है, लेकिन इसे Cygwin के सोर्स कोड के साथ सक्रिय रूप से अपडेट रखा जाता है
इस प्रकार, यह पहले से ही यूनिकोड का आंतरिक रूप से समर्थन करता है, और यह 64-बिट समर्थन भी प्रदान करता है, जिसे हमने विंडोज प्रोजेक्ट के लिए गिट की शुरुआत के बाद से शुरू किया था।

MSys2 ने Arch Linux से Pacman पैकेज प्रबंधन प्रणाली को भी पोर्ट किया और इसका भारी उपयोग किया । यह वही सुविधा लाता है जिसके लिए लिनक्स उपयोगकर्ताओं का उपयोग yumया से किया जाता है apt-get, और जिसके लिए MacOSX उपयोगकर्ताओं का उपयोग Homebrew या MacPorts, या BSD उपयोगकर्ताओं से पोर्ट्स सिस्टम से MSys2 तक किया जाता है: एक साधारण pacman -Syuसभी नवीनतम संकुल को नवीनतम संस्करणों में अद्यतन करेगा। वर्तमान में उपलब्ध।

MSys2 भी बहुत सक्रिय है, आमतौर पर प्रति सप्ताह कई बार पैकेज अपडेट प्रदान करता है।

यह अभी भी एक राज्य में सब कुछ लाने के लिए दो महीने के प्रयास की आवश्यकता थी जहां जीआईटी का परीक्षण सूट गुजरता है, कई और महीने तक विंडोज 2.x के लिए पहला आधिकारिक गिट जारी किया गया था, और पैच के एक जोड़े को अभी भी संबंधित अपस्ट्रीम परियोजनाओं के लिए उनके प्रस्तुत होने का इंतजार है । MSys2 के बिना, विंडोज के लिए Git का आधुनिकीकरण बस नहीं हुआ होगा

यह प्रतिबद्ध MSys2- आधारित गिट बिल्ड का समर्थन करने के लिए जमीन का काम देता है।


टिप्पणियों में , सवाल जनवरी 2016 में पूछा गया था:

चूँकि विंडोज के लिए Git पहले से ही MSYS2 पर आधारित है, इसलिए उन बायनेरिज़ को जो MSYS2 पैकेज के रूप में उपलब्ध नहीं हैं, अनुकरण परत पर निर्भर करते हैं?

रे डोनली ने उस समय जवाब दिया:

हम अभी तक पूरी तरह से विलय नहीं हुए हैं, नहीं। हम हालांकि इस पर काम कर रहे हैं।

लेकिन ... मैडज़ बताते हैं कि 2017 की शुरुआत में, यह प्रयास सफल नहीं हुआ।
देख:

समस्या यह है कि मैं उन बदलावों में योगदान नहीं कर सकता जिनके परिणामस्वरूप एक नया msys2-runtime समयबद्ध तरीके से होगा।
हालांकि यह एक बड़ी समस्या नहीं है: मैं सिर्फ अनिश्चित काल के लिए विंडोज चलाने के लिए गिट का कांटा रखूंगा।

विकी का उल्लेख अब (2018):

Windows के लिए Git ने msys2-runtime के लिए कुछ पैच बनाए हैं जिन्हें अपस्ट्रीम नहीं भेजा गया है। (यह योजना बनाई गई थी, लेकिन यह # 284 के अंक में निर्धारित किया गया था कि यह शायद नहीं हो रहा होगा।)
इसका मतलब है कि आपको MSYS2 के अंदर पूरी तरह से काम करने वाले गिट्स के लिए विंडोज अनुकूलित एमएसआईएस 2-रनटाइम के लिए गिट स्थापित करना होगा।


ध्यान दें कि, aeb582a9 (Git 2.22, Q2 2019) के बाद से, विंडोज प्रोजेक्ट के लिए Git ने Cygwin v3.x पर आधारित MSYS2 रनटाइम संस्करण में अपग्रेड प्रक्रिया शुरू की।

mingw: MSYS2 रनटाइम v3.x के साथ निर्माण की अनुमति दें

हाल ही में विंडोज प्रोजेक्ट के लिए Git ने Cygwin v3.x पर आधारित MSYS2 रनटाइम संस्करण में अपग्रेड प्रक्रिया शुरू की।

इसका बहुत उल्लेखनीय परिणाम है कि $(uname -r)अब "2" से शुरू होने वाले संस्करण की रिपोर्ट नहीं की जाती है, लेकिन "3" के साथ एक संस्करण।

यह हमारे निर्माण को तोड़ता है, जैसा कि df5218b ( config.mak.uname: MSys2, 2016-01-13, Git v2.8.0-rc0 का समर्थन करता है) ने केवल uname -rअंतर्निहित Cygwin संस्करण पर निर्भर होने की रिपोर्ट किए गए संस्करण की अपेक्षा नहीं की थी : यह रिपोर्ट किए गए संस्करण से मेल खाने की उम्मीद करता था " 2 "" MSYS2 "में।

तो चलिए उस परीक्षण मामले को "1" (MSys के लिए) से शुरू होने वाले संस्करण के अलावा किसी और चीज के लिए परीक्षण करने के लिए ।
इससे हमें भविष्य के लिए सुरक्षित करना चाहिए, भले ही Cygwin 314.272.65536 जैसे रिलीज़ संस्करण समाप्त कर दे।


Git 2.22 (Q2 2019) MSYS2 रनटाइम v3.x श्रृंखला के अपडेट के खिलाफ एक परीक्षण को भविष्य में प्रूफ करेगा।

देखें c871fbe प्रतिबद्ध द्वारा (07 मई 2019) जोहानिस Schindelin ( dscho)
(द्वारा विलय Junio सी Hamano - gitster- में b20b8fe प्रतिबद्ध , 19 मई 2019)

t6500(mingw): शेल के विंडोज पीआईडी ​​का उपयोग करें

विंडोज के लिए Git में, हम MSYS2 बैश का उपयोग करते हैं जो Cygwin के POSIX इम्यूलेशन लेयर से एक गैर-मानक PID मॉडल को वारिस करता है: प्रत्येक MSYS2 प्रक्रिया में एक नियमित Windows PID होता है, और इसके अलावा इसमें MSYS2 PID (जो एक छाया प्रक्रिया से मेल खाती है, जो अनुकरण करता है) यूनिक्स-शैली सिग्नल हैंडलिंग)।

MSYS2 रनटाइम v3.x के उन्नयन के साथ, इस छाया प्रक्रिया को OpenProcess()किसी भी माध्यम से एक्सेस नहीं किया जा सकता है , और इसलिए t6500 ने गलत तरीके से सोचा कि इस प्रक्रिया को संदर्भित किया गया है gc.pid(जो वास्तव gcमें इस संदर्भ में वास्तविक प्रक्रिया नहीं है, लेकिन वर्तमान शेल अब नहीं है मौजूद।

चलो यह सुनिश्चित करके कि विंडोज पीआईडी ​​को gc.pidइस परीक्षण स्क्रिप्ट में लिखा गया है ताकि यह git.exeसमझने में सक्षम हो कि यह प्रक्रिया वास्तव में अभी भी मौजूद है।


1
यह एक बहुत ही दिलचस्प सवाल उठाता है: चूंकि विंडोज के लिए गिट पहले ही MSYS2 पर आधारित है, क्या बायनेरिज़ जो अनुकरण परत पर निर्भर नहीं करते हैं उन्हें MSYS2 पैकेज के रूप में उपलब्ध कराया गया है? @RayDonnelly के ऊपर उल्लेख किया गया है कि MSYS2 टीम को उन प्रकार के बायनेरिज़ बनाने में रुचि थी जो यह देखते हैं कि यह किस तरह का प्रदर्शन अंतर बनाता है।
jpmc26

4
हम अभी तक पूरी तरह से विलय नहीं हुए हैं, नहीं। हम हालांकि इस पर काम कर रहे हैं।
रे डोनली

4
उस पर विस्तार करने के लिए .. अभी तक नहीं, अभी के लिए, MSYS2 के git पैकेज अभी भी msys-2.0.dll से लिंक है, Windows के लिए GIT के साथ MSYS2 को मर्ज करने के लिए एक सतत प्रक्रिया है 'और एक बार यह पूरा हो जाने के बाद हमें अपने बिट पैकेज को छोड़ने की उम्मीद है। msys-2.0.dll से जुड़े पैकेज के बाद से अपने पूरी तरह से मूल एक के लिए देशी सॉफ्टवेयर के निर्माण के समर्थन में मौजूद हैं और अपने आप में एक अंतिम लक्ष्य नहीं हैं।
रे डोनेली

1
@RayDonnelly इस समय स्थिति क्या है? यदि MSYS2 (पैकेज प्रबंधन!) के साथ विंडोज के लिए गिट को बदला जाए, तो क्या कोई नुकसान हैं?
ब्रेख्त मैकिएल्स


18

उनके बीच संबंध पर मेरी समझ है

  • Cygwin खिड़कियों के शीर्ष पर POSIX एमुलेशन प्रदान करता है
  • msys ने Cygwin को सरल बनाने की कोशिश की लेकिन 2010 से अप्रचलित है
  • msysGit - विंडोज पर 1.9.4 तक Git की अनुमति दी गई ( msit के पुराने संस्करण के आधार पर इसे git-for-windows-1.X कहा जा सकता है )।
  • msys2 - एक सरलीकृत Cygwin, इसमें से लिया गया, msys से परिवर्तन के साथ और Cygwin की सुविधाओं के साथ सिंक में रखा गया, Pacman के साथ एकीकृत
  • MinGW - प्रारंभिक MinGW, 2010 से छोड़ दिया गया
  • MinGW-w64 - POSIX के बिना, खिड़कियों के साथ एक तेज और बेहतर एकीकरण
  • git-for-windows-2.x - MinGW-64 , MinGW-32 का उपयोग कर विंडोज के लिए 2.X से Git प्रदान करता है और जब msys2 के लिए एक वापसी के साथ संभव नहीं है

Cygwin, msys, msys2, MinGW, git-for-windows, msysGit की तुलना करें

साथ बेला मत्स्यांगना में पूरा ग्राफ परिभाषा


1
अच्छा ग्राफिक्स। +1। "विंडोज 1.0 के लिए गिट" वास्तव में एक सर्वोत्तम प्रयास के आधार पर किया गया था: stackoverflow.com/a/1704687/6309 (जिसका मैं उल्लेख करता हूं stackoverflow.com/a/50555740/6309 पर )
VonC1
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.