মার্শিয়ালের কোনও ফোল্ডারের নীচে আমি কীভাবে সবকিছু উপেক্ষা করতে পারি


149

আমি একটি নির্দিষ্ট ফোল্ডারের নীচে সমস্ত ফাইল উপেক্ষা করার জন্য .hgignore ফাইলের জন্য একটি অভিব্যক্তি খুঁজছি।

উদাহরণস্বরূপ: আমি বিনের নীচে সমস্ত ফাইল এবং ফোল্ডার উপেক্ষা করতে চাই

আসলে কীভাবে এক্সপ্রেশনগুলি গঠিত হয় সে সম্পর্কে কোনও পরামর্শই দুর্দান্ত

উত্তর:


173

অথবা:

syntax: glob
bin/**

এটি আমার মনে হয় অনেক সহজ :)
— Xian

ফিলিহো, আমি মনে করি যে এটি বিন নামক ফাইলগুলিও ফিল্টার করে ফেলবে
— পিটার গিবসন

1
এই উত্তরটি, প্লাস এই ডকুমেন্টেশন আমাকে সাহায্য: selenic.com/mercurial/hgignore.5.html
— CenterOrbit

7
bin bin/ bin/* bin/**- সমস্ত গ্লোব দিয়ে একই কাজ করেন যেমন বিন নামক সমস্ত ডিরেক্টরি এবং উপ-ডিরেক্টরিগুলি উপেক্ষা করুন তবে কোনও ফাইলের নাম বিন.টিএসটিএস বা বিন1 নয়। অ্যাসিড্রিক্সের বিন্দু কী?
— ব্যবহারকারীর

আমি এটিকে স্পষ্টতা হিসাবে পছন্দ করি তবে অবশ্যই আপনি 'বিন' ব্যবহার করুন যদি আপনি re
— গ্লোব

53

আমি কিছু পরীক্ষা-নিরীক্ষা করেছি এবং আমি দেখতে পেয়েছি যে উইন্ডোজে রিজেক্স সিনট্যাক্সটি বর্তমান সংগ্রহস্থল থেকে শুরু হওয়া পথে প্রয়োগ হয়, ব্যাকস্ল্যাশগুলি স্ল্যাশে রূপান্তরিত করে।

সুতরাং আপনার ভাণ্ডার যদি E তে থাকে: উদাহরণস্বরূপ দেব, hg statusfoo / bar / file1.c এর বিরুদ্ধে নিদর্শনগুলি প্রয়োগ করবে। অ্যাঙ্করগুলি এই পথে প্রয়োগ হয়।

তাই:

  • গ্লোব পাথের উপাদানগুলিতে প্রয়োগ হয় এবং এটি মূল অংশগুলিতে মূল হয়
  • foo foo নামের কোনও ফোল্ডার (বা ফাইল) এর সাথে মেলে ("foobar" বা "বারফু" তে নয়)
  • * foo * নামের সাথে "foo" এর সাথে কোনও ফোল্ডার বা ফাইলের মিল রয়েছে
  • foo / bar * "foo" ফোল্ডারের সমস্ত ফাইল "বার" দিয়ে শুরু করে


  • রেজেক্স কেস সংবেদনশীল, অ্যাঙ্করড নয়
  • অবশ্যই, ব্যাকস্ল্যাশ রেজেক্স বিশেষ চরিত্রগুলি পছন্দ করে। (DOT)
  • / ম্যাচ Windows উইন্ডোজে পাথ বিভাজক। আমি এই বিভাজকের সাথে মেলে না ...
  • foo ভিতরে "foo" এর সাথে সমস্ত ফাইল এবং ফোল্ডার মেলে
  • foo / মেলে কেবল "foo" দিয়ে শেষ হওয়া ফোল্ডারগুলি
  • / foo / পথের কোথাও "foo" ফোল্ডারের সাথে মেলে
  • / foo / bar / ফোল্ডারের "বার" ফোল্ডারের সাথে "foo" ফোল্ডারের সাথে কোথাও কোথাও পাথ আছে
  • oo foo সংগ্রহস্থলটির গোড়ায় foo দ্বারা শুরু হওয়া ফাইল বা ফোল্ডারের সাথে মেলে
  • foo $ foo এর সাথে শেষ হওয়া ফাইলটি মেলে

আমি আশা করি এটি সাহায্য করবে, আমি এইচজিগনোর (5) পৃষ্ঠাটি কিছুটা সাফল্য পেয়েছি ।


আমার ব্যবহারের ধরণ '' [ডিডি] ইগুগ * / '' রয়েছে এবং আশ্চর্যের বিষয়টি হ'ল এটি '' ডিবাগ.টেক্সট '' এর মতো ফাইলগুলিও ফিল্টার করে
— মেহরদাদ মিররেজা

9

এই দু'টিই একটি ডিরেক্টরিও ফিল্টার করবে cabinযা আপনাকে চাইবে না। আপনি যদি শীর্ষ-স্তরের ফিল্টার করছেন তবে আপনি এটি ব্যবহার করতে পারেন:

^/bin/

binআপনার মূলের নীচে ডিরেক্টরিগুলির জন্য , আপনি om বাদ দিতে পারেন ^ সিনট্যাক্স নির্দিষ্ট করার দরকার নেই, রেজিপ্সপ ডিফল্ট।


4
এটি কিছু উপেক্ষা করবে না। ক্যারেট কেবল রেপো রুটে জিনিস বলে তবে শীর্ষস্থানীয় স্ল্যাশ কেবল রেপুর রুটে নয়, কেবল ধরা দেয়।
— Ry4an ব্রাস

2

কিছু মনে নেই, আমি পেয়েছি

syntax: regexp
bin\\*

অভিব্যক্তিগুলি স্ট্যান্ডার্ড পার্ল নিয়মিত এক্সপ্রেশন সিনট্যাক্স অনুসরণ করে।


2
প্রকৃতপক্ষে, এবং আপনার অভিব্যক্তিটির অর্থ "ফাইল বা ফোল্ডারটি বিনের সাথে শেষ হয় এবং তারপরে 0 বা আরও বেশি ব্যাকস্ল্যাশগুলি অনুসরণ করা হয়" ... সুতরাং এটি কাজ করে কারণ ব্যাকস্ল্যাশ * দ্বারা বাতিল করা হয়েছে তবে এটি "বিন" দিয়ে কোনও কিছু প্রয়োগ করে। উইন্ডোজে, hg এর সাথে / ম্যাচের আগে প্রতিস্থাপন করে।
— ফিলিহো

2

বাক্য গঠন: গ্লোব বিন / **

এই উত্তরটি উপরে দেখানো হয়েছে, তবে আমি যুক্ত করতে চাই যে * এবং ** আলাদাভাবে পরিচালনা করা হয়। ** পুনরাবৃত্ত, * হয় না।

এইচজি প্যাটার্নস দেখুন


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.