মার্চুরিয়াল - সমস্ত ফাইল যা পরিবর্তন পরিবর্তনে পরিবর্তিত হয়েছিল?


99

প্রদত্ত চেঞ্জসেটে পরিবর্তিত সমস্ত ফাইল আপনি কীভাবে নির্ধারণ করতে পারেন?

আমি এই ক্ষেত্রে কোনও পার্থক্যের সন্ধান করছি না, কেবল যুক্ত / সরান / পরিবর্তনগুলির একটি তালিকা।

hg log -vprX বিভিন্ন তালিকা তৈরি করে তবে আমি কেবল ফাইলগুলি চাই।


উত্তর:


150

যদি আপনি কেবল সেই ফাইলগুলি পরিবর্তন করতে চান যা পরিবর্তিত হয়েছে তবে আপনার "স্থিতি কমান্ড" ব্যবহার করা উচিত নীচেগুলি সংশোধন আরভিতে ফাইলগুলির পরিবর্তনগুলি তালিকাভুক্ত করবে

hg status --change REV

14
+1, তবে ওপি সম্ভবত -n/ --no-statusপতাকাও চায় ।
নিলাল সি।

7
সহজে অনুলিপি করার জন্য:hg status --no-status --change REV
জাস্ট্রোম

+1 hg status --rev REV~1:REVআমি যা করতাম তার চেয়ে এটি টাইপ করা এত সহজ ।
প্যাট্রিক অসিটি

4
'ব্যবহার করুন।' বর্তমান আরইভি জন্য। অর্থ -hg status --change .
zaxy78

16

কেবল pআপনার সরান hg log -vprফাইলগুলি তালিকা প্রদর্শন করবে। -pমানে প্যাচ দেখানো। আপনি নিজের স্বাদে আউটপুট ফর্ম্যাট করতে একটি টেম্পলেট ব্যবহার করতে পারেন ।


4
আমি মনে করি আপনার নিম্নলিখিত টেম্পলেটটির প্রয়োজন হবে: --template 'ফাইল: {ফাইলগুলি} \ n'
টন প্লম্প ২omp

4
আমি বিশ্বাস করি যে {ফাইলগুলি the -v পতাকা ডিফল্ট টেম্পলেটটির অংশ
eskhool

4
এইচজি লগ -আর। --template '{join (ফাইল, "\ n")}' নতুন
লাইনে

4
@ ফক্সিচু মন্তব্যটি আমার পক্ষে কাজ করেছে, তবে তা ছিল হ্যাকি। আসলে উপরের উত্তরটি hg status --change .আরও ভাল কাজ করেছে এবং একটি ফাইল অ্যাকশন উপসর্গ (এ
f

13

আমি জানি যে প্রশ্নটি একটি একক চেঞ্জসেটের জন্য, তবে আপনি যদি সমস্ত ফাইলকে বিভিন্ন সীমার পরিবর্তনের জন্য পরিবর্তন করতে চান তবে আপনি এটি করতে পারেন

hg status --rev 1 --rev 10 -m

4
ভয়াবহ খারাপ। ফাইলগুলি, hg log -r BEGIN:END --template "{files}\n"পরিসীমাতে পরিবর্তিত হিসাবে @ জিওফ্রে-জেং এবং @ টোন দুই বছর আগে
অলস ব্যাজার

এর জন্যে দুঃখিত. ধরে নেওয়া হয়েছিল যে তাদের উত্তরটি ছিল একক পরিবর্তনের জন্য।
নিক ডিভোর

4
আমার মতে এই উত্তরটি এত ভয়ানক নয়। hg status --rev BEGIN --rev ENDহয়: 1. স্মরণ করা তুলনায় অনেক সহজ hg log -r BEGIN:END --template "{files}\n"; ২. এটি sed(@ এরিক লোলার) বা join()(@ ফক্সিচু) ব্যবহার না করে পৃথক লাইনে ফাইলগুলি মুদ্রণ করে ; ৩. -mপতাকা ছাড়াই এটি কেবল সংশোধিত নয়, ফাইলগুলি যুক্ত এবং মুছে ফেলাও প্রদর্শন করে (চমৎকার স্ট্যান্ডার্ড রঙিনটি এখানেও প্রযোজ্য); ৪. এখানে রয়েছে -aএবং -rপতাকাগুলি বিভিন্ন ফিল্টারিংয়ের অনুমতি দেয়; ৫. যদি কেউ স্থিতির উপসর্গটি না চায়, তবে -nবিকল্প রয়েছে যা এটি দমন করে।
মাইকা র্রবেল

10

বর্তমান প্রতিশ্রুতিবদ্ধ সংশোধন

hg status --change .

.@HEADগিটের মতোই বর্তমান রেভের জন্য শর্টহ্যান্ড

বর্তমান অনুমোদনবিহীন সংশোধন

hg status

নির্বিচারে প্রতিশ্রুতিবদ্ধ সংশোধন

hg status --change REV_ID

4
সবচেয়ে সহজ এবং নির্ভুল উত্তর!
zaxy78

2

অনুরূপ ধারণার জন্য গুগলিংয়ের মাধ্যমে এই প্রশ্নটি পেয়েছে। বিভিন্ন ফাইলস চেঞ্জসেটের মাধ্যমে পরিবর্তিত সমস্ত ফাইল দেখানোর জন্য এটি এতটা সহজ:

hg log -r [start rev]:[end rev] --template "{file_mods}{file_adds}\n" | sed -e 's/ /\n/g' | sort -d | uniq
  1. hg log -r [start rev]:[end rev] --template "{file_mods}{file_adds}\n"একটি নতুন লাইনে প্রতিটি চেঞ্জসেটের ফাইলগুলির সাথে [শুরু রেভ] থেকে [শেষ রেভ] অবধি প্রতিটি চেঞ্জসেটে পরিবর্তিত বা যুক্ত প্রতিটি ফাইলের একটি তালিকা আপনাকে দেখাবে। {file_mods}{file_adds}সঙ্গে অদলবদল{files} , পরিবর্তিত যোগ বা মুছে ফেলা সব ফাইল দেখানোর জন্য।
  2. sed -e 's/ /\n/g' পৃথক লাইনগুলিতে প্রদর্শন করতে সমস্ত ফাইল বিভক্ত হবে
  3. sort হবে, এর, আপনার জন্য তালিকাটি বাছাই করুন যাতে আমরা তালিকাটিকে ইউনিকের সাথে ফিল্টার করতে পারি
  4. uniq একাধিক পুনর্বিবেচনায় পরিবর্তিত নকল remove ফাইলগুলি সরাতে তালিকাটি ফিল্টার করবে।

এই সমাধানটি প্রথম যুক্ত ফাইলের সাথে সর্বশেষ পরিবর্তিত একত্রিত করে। এছাড়াও, এটি ফাইলের নামের ফাঁকা জায়গাগুলির সাথে সঠিকভাবে ডিল করে না। @ ফক্সিচুর পরামর্শ অনুসারে --templateএই ত্রুটিগুলি ছাড়াই একটি ভিত্তিক সমাধান তৈরি করা যেতে পারে join()
মাইকা র্রবেল

1

আমি জানি এই প্রশ্নটি একটি পুরানো প্রশ্ন এবং আমি অবাক হয়েছি কেউই কেবল সংশোধিত কোড ফর্মের ওপি প্রস্তাব করেনি। আমি পরিবর্তিত / যুক্ত / সরানো ফাইল একটি তালিকা দেখুন (না লেবেল যাহা তাহাই যদিও) দ্বারা শুধু চলমান পেয়েছিলাম hg log -v। বা আমি hg log -v -l5শেষের 5 টি কমিট (যা রেপোতে আমি এখনও ধাক্কা দিইনি সেগুলি সহ) সংশোধন / যুক্ত / সরানো হয়েছে এমন ফাইলগুলি দেখার জন্য আমার আসলে কী দরকার ছিল ।


"কউকে না শুধু পরিবর্তিত কোড ফর্ম ওপি প্রদত্ত" - @Geoffrey ঝেং ঠিক করেছিলাম ~ 1 ঘণ্টা পর প্রশ্ন পোস্ট করা হয়েছে
মাইকেল Wróbel

-2

আপনি যদি বেশিরভাগ দোকানের মতো হন তবে আপনি পরিবর্তনগুলি ট্র্যাক করতে একটি টিকিটিং সিস্টেম ব্যবহার করেন। যদি আপনি টিকিটের নম্বরটি জানেন এবং সেই টিকিটের সাথে সম্পর্কিত সমস্ত কমিটগুলি সন্ধান করতে চান (ধরে নিলেন যে আপনি টিকিটের নম্বরটি কমিটের বার্তায় অন্তর্ভুক্ত করেছেন) তবে আপনি ব্যবহার করতে পারেন:

hg log -k TICKET_NUMBER

এটি টিকিটের সাথে যুক্ত সমস্ত সংশোধনী প্রদর্শন করে। তবে এটি ফাইলগুলি তালিকাভুক্ত করে না। সংশোধনগুলির সাথে যুক্ত ফাইলগুলির তালিকা পেতে আপনি উপরের যে কোনও একটি উত্তর ব্যবহার করতে পারেন।

আগের উত্তরগুলি থেকে তথ্যকে একত্রিত করে এটিকে আরও সহজ করে তুলতে, ফাইলগুলি পরিবর্তিত করা সহ কমিটগুলি অনুসন্ধান করার জন্য আপনি নিম্নলিখিতটি করতে পারেন:

hg log -vk TICKET_NUMBER

এটি প্রশ্নের সাথে সম্পর্কিত। পোস্টারটিতে জিজ্ঞাসা করা হয়েছিল কীভাবে একটি চেঞ্জসেটে ফাইল পাবেন। পরিবর্তনগুলি প্রায়শই টিকিটের সাথে সম্পর্কিত। আমার সমাধান দেখায় যে কীভাবে টিকিটের সাথে সম্পর্কিত চেঞ্জসেট সম্পর্কিত ফাইলগুলি পাওয়া যায়।
আইডিমেন্টেঞ্জ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.