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


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.