سؤال

ولدي مشكلة وأنا لا يمكن أن يبدو لفهم. أنا باستخدام TortoiseHg (الإصدار 0.7.5) على ويندوز على لينكس ولكن لدي نفس المشكلة. ومن هنا:

وملفي .hgignore:

syntax: regexp
^[^\\/]+$

ما أحاول تحقيقه هو أن تضيف إلى قائمة التجاهل الملفات التي هي في جذر مستودع الزئبق.

وعلى سبيل المثال إذا كان لدي مثل هذا:

.hg
+mydir1
+mydir2
-myfile1
-myfile2
-anotherfile1
-anotherfile2 
.hgignore

وأريد myfile1 (2) وanotherfile1 (2) لا يمكن تجاهله (الأسماء هي فقط لغرض هذا المثال - لم يكن لديهم قاعدة بسيطة التي يمكن وضعها في ملف hgignore بسهولة)

هل هناك شيء أنا في عداد المفقودين لأنني متأكد من أن التعبير العادي هو جيد (حتى اختبرته)؟ أفكار؟

هل هناك طريقة أسهل لتحقيق ذلك؟ [إضافة إلى تجاهل قائمة الملفات التي هي في جذر مستودع الزئبقي]

هل كانت مفيدة؟

المحلول

وأنا نقلت هذا السؤال في #mercurial على irc.freenode.net وكان الرد أنه لا يمكن التمييز بين الملفات والدلائل - الدليل يتم مطابقة بدون مائلة أنك تبحث عنه في التعبير العادي الخاص بك

ولكن، إذا كنت يمكن أن نفترض أن الدلائل الخاصة بك وسوف يحتوي أبدا . الكامل وقفة، ولكن سوف الملفات الخاصة بك، ثم شيئا من هذا القبيل يبدو للعمل:

^[^/]*\..*$

واختبرته في مستودع مثل هذا:

% hg status -ui
? a.txt
? bbb
? foo/x.txt
? foo/yyy

وإضافة ملف .hgignore يعطي:

% hg status -ui
? bbb
? foo/x.txt
? foo/yyy
I .hgignore
I a.txt

ومما يدل على أن ملف a.txt يتم تجاهل بشكل صحيح في الدليل الجذر، ولكن x.txt في الدليل الفرعي foo ليست كذلك. يمكنك أن ترى أيضا أن ملف يسمى bbb فقط في الدليل الجذر هو لا تجاهلها. ولكن ربما يمكنك إضافة هذه الملفات نفسك إلى ملف .hgignore.

إذا كنت يحدث لديك دليل مثل bar.baz في الدليل الجذر، ثم هذا الدليل وجميع الملفات داخل سيتم تجاهل. آمل أن يساعد هذا قليلا.

نصائح أخرى

وهنا هو خدعة قذرة:

وإنشاء ملف فارغ ".hidden" في الدليل الخاص بك، مما يضيف إلى .hgignore:

^mydir/(?!\.hidden).+$

وهذا سيتم تجاهل كل الملفات في الدليل باستثناء ".hidden".

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top