2009-11-05 8 views
17

क्या कोई मुझे निर्देशिका में एक विशिष्ट फ़ाइल को ट्रैक करने और बाकी सब कुछ अनदेखा करने के लिए .hgignore पैटर्न बता सकता है?.hgignore एक निर्देशिका फ़ाइल को छोड़कर पूरे निर्देशिका पेड़

मेरे पास एक "मीडिया" निर्देशिका है जिसमें स्पष्ट उद्देश्यों के लिए "default.png" है, और शेष निर्देशिका उपयोगकर्ता मीडिया को रखेगी। हम डिफ़ॉल्ट फ़ाइल को छोड़कर मीडिया निर्देशिका में सब कुछ अनदेखा करना चाहते हैं।

उत्तर

25

प्रयास करें:

syntax: regex 
^media/.* 

या (डिफ़ॉल्ट ग्लोब में छोड़ और कर)

media/** 

और फिर मैन्युअल hg add media/default.png

मर्कुरियल (सीवीएस के विपरीत) में आप उन फ़ाइलों को जोड़ सकते हैं जो आपके अनदेखा पैटर्न से मेल खाते हैं और वे ठीक काम करते हैं। तो व्यापक रूप से अनदेखा करें और hg add जो आप ट्रैक करना चाहते हैं।

+1

यह काम करता है हालांकि यह आपको अपनी इच्छित फ़ाइलों को मैन्युअल रूप से जोड़ने की आवश्यकता है और यदि आप एक नई फ़ाइल जोड़ते हैं जो पैटर्न से मेल खाता है (यदि आप उदाहरण के लिए * .c पर मेल खाते हैं)। – frankster

+0

पूरी तरह से सच है। मैं अभी भी नकारात्मक-दिखने वाली चीजों को पसंद करता हूं, लेकिन हर कोई नहीं करता है। व्यक्तिगत रूप से मैं केवल यह सुनिश्चित करता हूं कि मेरी ट्रांजिटरी फाइलें और मेरी सामग्री-अलग-अलग निर्देशिकाओं में समाप्त हो जाए, इसलिए मुझे इसके बारे में चिंता करने की ज़रूरत नहीं है। –

4

कोई बात नहीं है कि यह काम करने लगता है ...

syntax: regex 
^media/(?!default.png) 
+0

यह भी default.png.sadkjsdhfdshfjkds से मेल खाएंगे – frankster

+0

हाँ, एक '$ की जरूरत है सुनिश्चित करने के अंत में। अपना जवाब देखें –

6
syntax: regex 
^media/(?!default.png$) 

लगभग जॉन मी के समान ही है लेकिन डिफ़ॉल्ट के साथ शुरू होने वाली किसी भी चीज़ के बजाय लाइन के अंत तक मेल खाता है।

अगर आप किसी भी ग फ़ाइल लेकिन कुछ नहीं अनुमति देने के लिए करना चाहता था, आप इस्तेमाल कर सकते हैं:

^media/(?!.+\.c$) 
5

एक BKM (सबसे अच्छा ज्ञात विधि)

या तो सब कुछ hgignore के रूप में यह संक्षेप, और फिर एचजी उन फ़ाइलों को वापस जोड़ें जिन्हें आप ट्रैक करना चाहते हैं।

या एक पैटर्न का उपयोग इस तरह के रूप

syntax: regex 
^path/(?!files-that-you-want-not-to-ignore$) 

(मैं तो बस एक ही स्थान पर पूरा जवाब देखना चाहती थी।)

+1

मैं एकाधिक फाइल कैसे निर्दिष्ट करूं? – m4l490n