উপবর্তন: আগত পরিবর্তনের মধ্যে পার্থক্য কীভাবে তুলনা করবেন?


19

আমি আগত পরিবর্তনগুলি গ্রহণ করার আগে আমার সহকর্মীরা যে পরিবর্তনগুলি করেছে তা দেখতে চাই।

সুতরাং আমি স্ট্যাটাস পেয়ে শুরু

svn st -u

... যা আমাকে বলে যে আমি একটি আসন্ন পরিবর্তন পেয়েছি

    *     9803   incomingChanges.html
M         9803   localChanges.html
M   *     9803   localAndIncoming.html

আমি কী পরিবর্তন করেছি তা দেখতে পাচ্ছি

svn diff localChanges.html

... তবে কী পরিবর্তন হয়েছে localAndIncoming.htmlতা দেখানোর জন্য আমি কীভাবে আলাদা হতে পারি এবং এটি আমার কাজের অনুলিপি থেকে কীভাবে আলাদা?


আপনার কমান্ড লাইন প্রশ্নের উত্তর নয়, তবে: শেষ অবধি, আপনি যখন নিজের ওয়ার্কিং কপির চেয়ে আলাদা তা জানেন , আপনি সম্ভবত নিজের পরিবর্তনগুলির সাথে সংগ্রহস্থল পরিবর্তনগুলি মার্জ করতে চাইবেন। কিছু জিইআইআই ব্যবহার করার সময়, আপনি কেন প্রাথমিক প্রবর্তন করতে সহায়তা করার জন্য একটি জিইউআই ব্যবহার করবেন না? কচ্ছপ এসভিএন এর মতো সরঞ্জামগুলি এই জাতীয় তুলনা করে offer এছাড়াও, অ্যালপিসের মতো আইডিইগুলি স্বয়ংক্রিয় সংযুক্তি এড়ানো এড়ানো ( খুব সহজেই আপনার সহকর্মীরা কী কী করেছে তার ধারণা পেয়ে ভাল লাগার পরেও - মার্জ করার মতো কিছুই নেই) আসন্ন পরিবর্তনগুলি পর্যালোচনা করতে পারে ।
আরজান

1
TortoiseSVN ব্যবহার করে আগত পরিবর্তনগুলি দেখার কোনও জিইউআই উপায় আছে কি?
খ্রিস্টান

আপনি পাশাপাশি ইনকামিংচেনজ এইচটিএমএলও আলাদা করতে চান, না?
রাফি খ্যাচাডৌড়িয়ান

উত্তর:


21

আমি বিশ্বাস করি আপনার যা প্রয়োজন তা হ'ল:

svn diff -rBASE:HEAD

2

এফওয়াইআই লাইভ রেপো সংস্করণের উপর ভিত্তি করে ডিরেক্টরিতে svn diffসঞ্চিত অশোধিত ফাইলের ভিত্তিতে একটি পার্থক্য দেয় .svn

আপনি svn updateআপডেটের (এবং সম্ভবত মার্জ হওয়া) চেষ্টা করার জন্য সাবঅভারশন পেতে দৌড়াতে পারেন এবং তারপরে একটি করতে পারেন svn diff, তবে আমার ধারণা আপনি যেটা চান তা ততটা পরিষ্কার নয়।

অবশেষে svn diffকেবল রেপোতে পৃথকীকরণ সমর্থন করে। উদাহরণ:

svn diff svn://svnserver/repo/localChanges.html -r REV_NO

পাসের সংশোধনের সাথে হেডের তুলনা করতে ডিফল্ট।


2

সঙ্গে টরটয়েজএসভিএন (আপনি উইন্ডোজ ব্যবহার করে থাকেন)

  • লগ স্ক্রিন চালান

  • মাথা সংশোধন নির্বাচন করুন

  • লোকালএন্ড ইনকোমিং। Html এ রাইট ক্লিক করুন

  • কাজের অনুলিপি সঙ্গে তুলনা করুন চয়ন করুন


0

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

http://mercurial.selenic.com/

এবং হ্যাঁ, আমি জানি যে আপনি পণ্যগুলিতে স্যুইচ করা কোনও অনুকূল সমাধান নয়, তবে এটি এমন সমাধান যা কম নয় less


0

একটি নতুন ফোল্ডারে অন্য চেকআউট করুন।

cd ..
svn checkout  /path/to/repo clean_working_copy

আপনি যদি ক্লিন_কর্ম_কপি পুনরায় ব্যবহার করেন তবে পূর্বে আপডেট করতে ভুলবেন না

svn update clean_working_copy

তারপরে আপনার ফাইলটি ক্লিন_কর্মিং_কপি থেকে একটির সাথে তুলনা করুন

diff your_working_copy/localAndIncoming.html clean_working_copy/localAndIncoming.html

অথবা আপনার পছন্দের 3-ওয়ে পার্থক্য সহ (আমার কেডিফ 3)

kdiff3 --L1 Base --L2 theirs --L3 mine your_working_copy/.svn/text-base/localAndIncoming.html clean_working_copy/localAndIncoming.html your_working_copy/localAndIncoming.html

এই কাজ, কিন্তু একটি স্কেম আরও সংহত উপায় প্রদান করা উচিত।
rd

0

আমি মনে করি

svn diff -r HEAD

আপনি যা চান তা প্রায় দেয়। একমাত্র বিষয় হ'ল + এবং - আপনার প্রত্যাশার তুলনায় বিপরীত হয়।

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