Mercurial জন্য ডিফ টুল হিসাবে WinMerge ব্যবহার করবেন কিভাবে


19

আমি Mercurial বিতরণ সংস্করণ নিয়ন্ত্রণ সিস্টেম ব্যবহার করছি, এবং আমি ভাবছি আমি কিভাবে এটির নিজস্ব অভ্যন্তরীণ diff সরঞ্জাম পরিবর্তে WinMerge ব্যবহার করতে কনফিগার করতে পারি। আমি ইতিমধ্যে মার্জ টুল হিসাবে WinMerge পেয়েছি, কিন্তু আমি লিখতে যখন Mercurial WinMerge ব্যবহার করতে চাই:

hg diff

এটা করার কোন উপায় আছে, নাকি আমি মারকুরিয়ালের অভ্যন্তরীণ ছড়িয়ে দিয়ে আটকে গেছি?

উত্তর:


23

থেকে TortoiseHg FAQ :

আপনার ব্যক্তিগত Mercurial.ini ফাইলে এই লাইন যোগ করুন

[extensions]
extdiff =

[extdiff]
cmd.winmerge = C:\Program Files\WinMerge\WinMergeU.exe
opts.winmerge = /e /x /u /wl

এখন গ্লোবাল সেটিংস টুল চালান। TortoiseHg ট্যাবে, আপনি উইনমারজটি ভিজ্যুয়াল ডিফ কমান্ডের ড্রপ-ডাউন তালিকাতে উপলব্ধ হওয়া উচিত। Winmerge নির্বাচন করুন, তারপর বন্ধ, প্রযোজ্য।

এই একই পদ্ধতিটি প্রায় কোনও ভিজ্যুয়াল ডিফাফ টুল যোগ করতে ব্যবহার করা যেতে পারে, তবে সচেতন থাকবেন যে আপনার ডিফিউ টুলটি যদি TortoiseHg দ্বারা ব্যবহার করা হয় তবে এটি ডিরেক্টরি ডিফেজগুলিকে সমর্থন করতে সক্ষম হওয়া উচিত, যদি না আপনি 0.8 বা তার পরে সংস্করণ ব্যবহার না করেন।

জোয়েল একটি সমাধান প্রদান এখানে যদি আপনি সিগুইন অধীনে Mercurial চালানো।

WinMerge কমান্ড লাইন ব্যাখ্যা এখানে যুক্তি । সারাংশ:

  • /e আপনি একটি একক এসসি কী প্রেস দিয়ে WinMerge বন্ধ করতে সক্ষম হবেন
  • /x আপনি যখন WinMerge (একটি তথ্য ডায়ালগ প্রদর্শন করার পরে) বন্ধ করে অভিন্ন ফাইল তুলনা শুরু
  • /u WinMerge কে সর্বাধিক সম্প্রতি ব্যবহৃত (এমআরইউ) তালিকাতে পাথ (বাম বা ডান) যুক্ত করতে বাধা দেয়
  • /wl শুধুমাত্র পঠন হিসাবে বাম পাশ খোলা

আমি TortoiseHG ব্যবহার করছি না, না আমি সিগুইন এর অধীনে Mercurial চলছি। আমি ডিফল্ট কমান্ড লাইন Mercurial ইনস্টলার ব্যবহার করছি mercurial.berkwood.com । আপনার সমাধানটি কাজ করে, এই অর্থে যে আমি 'hg winmerge & lt; file & gt; টাইপ করতে সক্ষম। এটি এবং পূর্ববর্তী সংস্করণের মধ্যে পার্থক্যটি দেখতে, কিন্তু 'hg diff & lt; file & gt;' এখনও একই (বরং কুৎসিত) diff হাতিয়ার। এখনও, কিছুই তার চেয়ে ভাল।
quanticle

আমি মনে করি এই উত্তরটি অনুমান করে যে আপনি Mercurial.ini টি TortoiseHg ডিরেক্টরিতে (যেমন C: \ Program Files \ TortoiseHg) সম্পাদনা করবেন। যদি আপনি Mercurial ডিরেক্টরিতে একটি সম্পাদনা করেন (উদাহরণস্বরূপ C: \ Program Files \ Mercurial) তবে এটি কাজ করবে না (অন্তত এটি আমার জন্য নয়)।
Ashley Davis

এছাড়াও সি: \ প্রোগ্রাম ফাইল (x86) \ WinMerge \ WinMergeU.exe
Avram

আপনি কনফিগার ফাইলটিতে WinMerge এর পথের কাছাকাছি কোটগুলি রাখেন না তা নিশ্চিত করুন অথবা এটি কাজ করবে না।
Drealmer

7

এটা আমার জন্য কিভাবে কাজ করে - কাটানোঝড় ব্যতীত বিশুদ্ধ মেরুকুরিয়াল কমান্ড লাইন

প্রথম, ফাইল সম্পাদনা করুন (একটি 64 বিট উইন্ডোজের অধীনে)

সি: \ প্রোগ্রাম ফাইল (x86) \ Mercurial \ Mercurial.ini

[extensions]
; must uncomment this line
extdiff =

[extdiff]
; i'm using winmerge unicode version
cmd.winmerge = C:\Program Files (x86)\WinMerge\WinMergeU.exe
; it explains winmerge command line parameters here: http://winmerge.org/docs/manual/CommandLine.html
opts.winmerge = /r /e /x /u /wl

তারপরে, আপনি "hg difmer ..." এর পরিবর্তে "hg winmerge ..." ব্যবহার করতে পারেন।


আমি ব্যাকগ্রাউন্ডে Winmerge চালানোর জন্য এটি কার্যকর বলে মনে করি যাতে আমি প্রতিমূর্তি সেটিং করার সময় পরিবর্তনগুলি দেখতে পারি এবং কমান্ড লাইনে কোন ফাইলগুলি পরিবর্তন হয়েছে সেগুলিতে পরিসংখ্যান প্রদর্শন করতে পারে। এটি করতে ম্যারাউরিয়াল ডিরেক্টরিতে একটি ব্যাচ ফাইল রাখুন যার মধ্যে রয়েছে / b hg winmerge & lt; NEWLINE & gt; এইচজি diff - স্ট্যাট
danio

3

আচ্ছা, আগে দেওয়া উত্তর আমাকে পছন্দসই প্রভাব দেয় না। তারা পুনর্বিবেচনার পরিবর্তন এবং স্থান সম্পাদন করার অনুমতি দেয় না (আমি একই ট্যাবলেট থেকে TortoiseSVN এর জন্য উপলব্ধ যা কার্যকারিতা মানে)। এই বিভাগে mercurial.ini এর জন্য আমি অতিরিক্ত যোগ করেছি:

[merge-tools]
winmerge.regkey=Software\Thingamahoochie\WinMerge\
winmerge.regname=Executable
winmerge.priority=-10
winmerge.args=/e /x /wl /ub /dl other /dr local $other $local $output
winmerge.fixeol=True
winmerge.checkchanged=True
winmerge.gui=True
winmerge.diffargs=/r /e /x /ub /wl /dl '$plabel1' /dr '$clabel' $parent $child
winmerge.diff3args=
winmerge.dirdiff=True

এই থেকে নেওয়া হয় http://blog.stevehorn.cc/blog/easy-mercurial-visual-diff-between-two.html

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