স্টাইলএল অ্যাপ্লিকেশন হিসাবে FileMerge ব্যবহার করা সম্ভব?


6

আমি স্ট্যান্ডআলোন টুল হিসাবে FileMerge ব্যবহার করার উপায় আছে কিনা ভাবছি। আমি এক্সকোড ইনস্টল করতে চাই না, যেহেতু আমার এটি দরকার নেই। আমি শুধু FileMerge অ্যাপ্লিকেশন চাই। এটা কি সম্ভব?

উত্তর:


8

ফাইলমার্জের 2.8, এক্সকোড 5.0.1 লিঙ্ক যা ফ্রেমওয়ার্কগুলিতে লিঙ্কগুলি যা Xcode.app বান্ডিলের ভিতরে অবস্থিত। ফাইলমার্জের দ্বারা ব্যবহৃত শেয়ারকৃত লাইব্রেরি কমান্ড সম্পাদন করে প্রদর্শিত হতে পারে:

otool -L /Applications/Xcode.app/Contents/Applications/FileMerge.app/Contents/MacOS/FileMerge

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

/Applications/Xcode.app/Contents/Applications/FileMerge.app/Contents/MacOS/FileMerge:
    /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1247.0.0)
    /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1052.0.0)
    @rpath/DevToolsInterface.framework/Versions/A/DevToolsInterface (compatibility version 1.0.0, current version 3000.1.0)
    @rpath/DevToolsCore.framework/Versions/A/DevToolsCore (compatibility version 1.0.0, current version 2404.0.0)
    @rpath/DevToolsFoundation.framework/Versions/A/DevToolsFoundation (compatibility version 1.0.0, current version 3001.0.0)
    /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 852.0.0)

উপসর্গ @rpath নির্দেশ করে যে dyld রান পথ তালিকা ব্যবহার করবে রেফারেন্স করা হচ্ছে যে ফ্রেমওয়ার্ক অনুসন্ধান। বিশেষত, FileMerge রয়েছে "../OtherFrameworks" তার রান পথ তালিকা। Xcode.app বান্ডিলের ভিতরে অবস্থিত হলে, সেই ফ্রেমওয়ার্কগুলি ঠিক যেখানে ফাইলমার্জের তাদের প্রত্যাশা করা হয়।

যাইহোক, যদি আপনি Xcode.app বান্ডেল থেকে ফাইলমার্জটি অনুলিপি করেন তবে ফাইলমার্জটি লঞ্চে ক্র্যাশ করবে। এটি ঘটে কারণ রেফারেন্সযুক্ত ফ্রেমওয়ার্কগুলি (উপরে উল্লেখিত) রান পাথ তালিকাতে নয়, যার কারণ dyld একটি ত্রুটি সঙ্গে প্রস্থান করার জন্য "image not found"। এটি রেফারেন্স করা ফ্রেমওয়ার্কগুলি খুঁজে পাওয়া যায় না কারণ এটি আপেক্ষিক পাথের একটি ফোল্ডার "../OtherFrameworks" বিদ্যমান নেই, এবং ফ্রেমওয়ার্ক রান পাথের তালিকাভুক্ত অন্য কোনও ফোল্ডারে বিদ্যমান নেই।

এক্সকোড অ্যাপ্লিকেশন ইনস্টল না করেই ফাইলমার্জের ব্যবহার করার জন্য আপনার কয়েকটি অপশন রয়েছে:

  1. আপনার পছন্দসই অবস্থানে FileMerge অনুলিপি করুন, এবং এর বিষয়বস্তু অনুলিপি করুন /Applications/Xcode.app/Contents/OtherFrameworks/ রান পাথ তালিকা উল্লেখ রেফারেন্স এক ( ~/Library/Frameworks অথবা /Library/Frameworks সম্ভবত সেরা পছন্দ একটি দম্পতি)।

  2. আপনার পছন্দসই অবস্থানে FileMerge অনুলিপি করুন, এবং এর বিষয়বস্তু অনুলিপি করুন /Applications/Xcode.app/Contents/OtherFrameworks/ হতে হবে "../OtherFrameworks" FileMerge অ্যাপ্লিকেশনের সাথে সম্পর্কিত (উদাঃ, যদি FileMerge এ থাকে ~/Applications, ফোল্ডার কপি করুন "OtherFrameworks" থেকে ~/OtherFrameworks

সম্পাদন করা

উপরের উত্তরটি FileMerge লঞ্চ করার অনুমতি দেয়, তবে আপনি আসলে ফাইল তুলনা করার চেষ্টা করলে অ্যাপ্লিকেশনটি শেষ হবে। দৃশ্যত অ্যাপ্লিকেশন পাথ এ প্ল্যাটফর্ম তথ্য খুঁজছেন ../Developer/Platforms/MacOSX.platform/Info.plist। এটি অনুলিপি করা প্রয়োজন যে মানে Info.plist থেকে /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Info.plist থেকে ../Developer/Platforms/MacOSX.platform/Info.plist (FileMerge.app সম্পর্কিত)। এখানে কয়েকটি পদক্ষেপ যা ফাইলমার্জের অনুলিপি একটি ফোল্ডারে অনুলিপি করতে ব্যবহার করা যেতে পারে ~/Applications:

mkdir ~/Applications
cp -R /Applications/Xcode.app/Contents/Applications/FileMerge.app ~/Applications

cp -R /Applications/Xcode.app/Contents/OtherFrameworks/* ~/Library/Frameworks

mkdir -p ~/Developer/Platforms/MacOSX.platform
cp /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Info.plist ~/Developer/Platforms/MacOSX.platform

নকল Info.plist আমার ক্ষেত্রে XCode 6.1.1 এবং FileMerge 2.8 এর সাথে কাজ করবেন না - এখনও এই ত্রুটিটি পেয়েছেন: FileMerge[12429:1615479] [MT] ASSERTION FAILURE in /SourceCache/DevToolsBase/DevToolsBase-6000/pbxcore /SpecificationTypes/XCPlatformSpecification.m:438 Details: The Mac OS X platform is missing - cannot set a default platform. Object: <XCPlatformSpecification> Method: +loadAllPlatforms Thread: <NSThread: 0x7fe4597135f0>{number = 1, name = main} আসল FileMerge থেকে এই ফাইলটি সরানো একই রকম ত্রুটি সৃষ্টি করে। ফাইল মালিক এবং অধিকার অভিন্ন।
Dmitry Verkhoturov

এই কি কখনও সফলভাবে সম্পন্ন হয়েছে?
Jess Riedel

1
@ জেস রিডেল - এটি ২013 সালে কাজ করতে ব্যবহৃত হয়েছিল, কিন্তু সম্প্রতি পরীক্ষার পরে, এটি প্রদর্শিত হয় যে ফাইলমার্জ এবং তার সমর্থক লাইব্রেরি / ফ্রেমওয়ার্কগুলি Xcode.app বান্ডেলের মধ্যে ২0 টিরও বেশি লাইব্রেরি / ফ্রেমওয়ার্কগুলির সাথে যুক্ত। এর মানে হল যে ফ্রেমওয়ার্ক / লাইব্রেরিগুলিকে রান পাথের মধ্যে স্থানান্তর করা দরকার এবং তারপর সেগুলি (কপি করা) ফ্রেমওয়ার্ক / লাইব্রেরিগুলিকে এক্সকোড সংস্করণ পরিবর্তন হিসাবে রক্ষণাবেক্ষণ করা দরকার ... আমি নিশ্চিত নই যে কেন ফাইলমার্গে কেবল একটি সিমলিঙ্ক তৈরি করা হয় না অধিকাংশ মানুষের জন্য যথেষ্ট? কেন Xcode.app বান্ডিলের বাইরে FileMerge সরাতে হবে?
Eddie Kelley

ধন্যবাদ এডি। আমি একজন বিকাশকারী নই এবং বিভিন্ন লেখকদের পুনর্বিবেচনার সাথে TeX ফাইলগুলিকে বিচ্ছিন্ন করার জন্য ফাইলমার্জের চেষ্টা করার চেষ্টা করছি। যদি আমার একটি বিশাল (মাল্টি-গিগাবাইট?) ইনস্টলেশান ইনস্টল এবং বজায় রাখতে হয় তবে আমার পক্ষে এটি সত্যিই মূল্যবান নয়, যদিও আমি কী জড়িত তা নিয়ে বিভ্রান্ত।
Jess Riedel

1
@ জেস রিডেল - আমি যা দেখতে পারি তার থেকে প্রায় 700 মেগাবাইট সমর্থনকারী ফ্রেমওয়ার্ক / লাইব্রেরি এবং "প্ল্যাটফর্ম" ফোল্ডার (আপনার চলমান OS প্ল্যাটফর্মের তথ্য / সংস্থানগুলি রয়েছে) 400 এমবি থেকে বেশি সময় নেয়, তাই মনে হচ্ছে এটি FileMerge প্রায় 1.5 গিগাবাইট জায়গা প্রয়োজন (এবং ব্যর্থতা একটি প্রবণতা বজায় রাখার জন্য kludgy হবে)। এটি Xcode এর & gt; 9 গিগাবাইট ইনস্টল পাদচরণের চেয়ে কিছুটা কম, তবে এটি সঠিকভাবে কাজ করার অনুমতি দেওয়ার জন্য প্রয়োজনীয় 'হ্যাক' দেওয়া সম্ভব হবে না তা নিশ্চিত না।
Eddie Kelley

-3

হ্যাঁ, এটা সম্ভব।

আপনার খোঁজক খুলুন এবং XCode.app জন্য অনুসন্ধান করুন। ডান ক্লিক করুন এবং তারপর "প্যাকেজ সামগ্রী প্রদর্শন করুন"। আপনি "অ্যাপ্লিকেশন" নামে একটি ফোল্ডার পাবেন। এবার ফাইলটিকে মার্জ করুন এবং আপনি Xcode মুছে ফেলতে পারেন।

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