2011-05-25 11 views
5

मैंने अपने मैटलैब कोड सहित मेरे अधिकांश कोड होस्ट करने के लिए गिथब का उपयोग करना शुरू कर दिया है। यह पता चला है कि गिथब सिंटैक्स फ़ाइल की सामग्री के बजाय अपने एक्सटेंशन के आधार पर कोड को हाइलाइट करता है। Matlab एम फ़ाइलों के लिए यह इतना अच्छा नहीं है। उन्हें उद्देश्य-सी फाइलों के रूप में पहचाना जाता है, एमएम, और अनुचित रूप से पहचाना/हाइलाइट किया गया। गिथब मैटलैब एम फाइलों को हाइलाइट करता है अगर उनके पास .matlab एक्सटेंशन है, लेकिन इसके साथ समस्या यह है कि मैटलैब उन फ़ाइलों को चलाने से इंकार कर रहा है जिनके पास .m एक्सटेंशन नहीं है। मैं समाधान के साथ आने में सक्षम नहीं हूं, क्योंकि मैं अपनी मैटलैब फ़ाइलों को गीथूब और मैटलैब दोनों के साथ अच्छी तरह से खेलना चाहता हूं। तो यहाँ सवाल की जोड़ी हैं:मैं Matlab फ़ाइलों को GitHub पर धक्का देने के लिए फ़ाइल एक्सटेंशन परिवर्तन कैसे स्वचालित करूं?

  1. सभी .m फ़ाइलें के लिए एक रास्ता जब Github को धक्का दे एक्सटेंशन .matlab में बदल जाती है? गीथब से लाने या क्लोनिंग करते समय इसे .mllab फ़ाइलों को .m एक्सटेंशन में कनवर्ट करने की आवश्यकता होगी?

  2. यदि 1. संभव नहीं है, तो क्या मैटलैब को उन फ़ाइलों को चलाने के लिए एक तरीका है जिसमें .matlab एक्सटेंशन है?

यदि हां 1 या 2 में है, तो मुझे कुछ सुझाव या उदाहरण यह कैसे करना है इसके उदाहरण हैं।

+1

इस फ़ाइल प्रकार को टैग और इस तरह सही वाक्य रचना पाने के लिए GitHub के लिए एक अच्छा सुविधा का अनुरोध की तरह लगता है, की matlab वामो सामान्य के लिए एक जगह है हाइलाइटिंग। मुझे यकीन नहीं है कि आपकी कार्यशील प्रति और आपके भंडार के बीच फ़ाइल एक्सटेंशन बदलने के लिए एक अच्छा विचार है। – Alex

+0

अंतिम मैटलैब सिंटैक्स हाइलाइट अंततः लिंगुस्ट प्रोजेक्ट के साथ गिथब में जोड़ा गया है: https://github.com/github/linguist, इसलिए यह प्रश्न अब प्रासंगिक नहीं है। – moorepants

उत्तर

3

आप अपने प्रश्न में बिंदु 1 करने के लिए गिट हुक का उपयोग कर सकते हैं। यदि आप .git/hooks/ में देखते हैं, तो आपको कुछ उदाहरण मिलेंगे जिनका आप उपयोग कर सकते हैं (विभिन्न फाइलों को here समझाया गया है)। असल में आपको केवल एक पोस्ट-प्राप्त हुक जोड़ना है जो .m से .matlab से गीथब पर पोस्ट का नाम बदल देगा और पोस्ट-फ़ेच या पोस्ट-पुल हुक (मेरी शब्दावली को यहां थोड़ा सा फ्यूज कर सकता है) जो उन्हें वापस नामित करेगा .m फाइलें। 1, 2, 3, 4, और कई और अधिक ...

यही कहा, मैं एलेक्स के साथ सहमत हैं कि यह आम तौर पर नहीं है:

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

+0

क्या गिट हैश को फ़ाइल सामग्री के आधार पर गणना की जाती है? यदि हां, तो क्या इससे कोई फर्क पड़ता है कि एक्सटेंशन दूसरे की तुलना में एक रेपो पर अलग है? मैं उत्सुक हूं कि आप एलेक्स क्या करते हैं और आपको लगता है कि जटिलताओं यह है कि ऐसा करने के लिए एक हुक स्थापित करने से उत्पन्न हो सकता है। मैं जिथब के लिए एक फीचर अनुरोध जमा करूंगा लेकिन उन्होंने ऐसा करने के लिए पहले से ही कई अनुरोध बंद कर दिए हैं। – moorepants

1

यह देखने के लिए जांचें कि क्या गिथब आपकी विशेषताओं फ़ाइल का सम्मान करेगा। यदि ऐसा है तो * .m के लिए एक पैटर्न सेट अप करें और एप्रोप्रेटीट गुणों को सही देखने की शैली में ge सेट करें।

विशेषताओं फ़ाइल भी EOL = वामो (यहां तक ​​कि Windows पर) git-crlf-conversion-for-m-matlab-files

संबंधित मुद्दे