কচ্ছপ এসভিএন ব্যবহার করে আমি কীভাবে ট্রাঙ্ক থেকে একটি শাখায় পরিবর্তিত করব এবং তদ্বিপরীত করব?


132

সাব্ভারশন বইয়ের সাথে দুর্দান্ত এবং নিখরচায় সংস্করণ নিয়ন্ত্রণ ব্যবহার করে আমি সাবভার্সন 1.5 এর সাথে ব্রাঞ্চিং / মার্জ করার বিষয়ে পড়ছি । আমি মনে করি যে আমি কীভাবে সাবভারশন কমান্ড লাইন ক্লায়েন্টকে আমার প্রায়শই প্রয়োজনীয় ক্রিয়াগুলি সম্পাদন করতে পারি তা হ'ল:

ট্রাঙ্ক থেকে পরিবর্তনগুলি সহ শাখা আপডেট করুন

শাখার ওয়ার্কিং ডিরেক্টরি থেকে চালান:

এসএনএন মার্জ http://svn.myurl.com/proj/trunk

ট্রাঙ্কে শাখা মার্জ করুন

ট্রাঙ্কের ওয়ার্কিং ডিরেক্টরি থেকে চালান:

এসএনএন মার্জ --reintegrate http://svn.myurl.com/proj/branches/mybranch

যাইহোক, আমরা টরটোইজএসভিএন 1.5 ব্যবহার করে আমাদের সাবভার্সনের ইন্টারফেস হিসাবে। টরটোইজএসভিএন দিয়ে এই অপারেশনগুলি কীভাবে সেরা করা যায় তা আমি জানতে চাই। নতুন ডায়লগটি মূল মেনুতে তিনটি ভিন্ন বিকল্প সরবরাহ করে।

  1. একাধিক সংশোধন মার্জ করুন
  2. একটি শাখা পুনরায় সংহত করুন
  3. দুটি আলাদা গাছ একত্রিত করুন

আমি যা সংগ্রহ করতে পারি তার থেকে, কচ্ছপগুলি এসভিএন সর্বদা নিম্নলিখিত সিনট্যাক্সের সাথে এসএনএন চালায়।

এসএনএন একীভূত করুন [- শুকনো রান] - থেকে_ URL @ রেভএন তো_আরএল @ রেভএম পাথ force

অতিরিক্তভাবে, একটি শাখাটিকে পুনরায় সংহত করার সাথে সাথে বার্তাটি ব্যর্থ হয় যা উল্লেখ করে যে কিছু টার্গেটগুলি মার্জ করা হয়নি এবং তাই এটি চালিয়ে যেতে পারে না, এবং তাই আমাকে # 3 বিকল্পটি ব্যবহার করতে হয়েছিল।

আমার প্রশ্নগুলি হ'ল:

  1. ট্রাঙ্ক থেকে একটি শাখায় পরিবর্তনগুলি মার্জ করতে আমি কীভাবে টরটোইজএসভিএন 1.5 ব্যবহার করব?
  2. পুনরায় সংহতকরণ পদ্ধতি ছাড়া এবং ছাড়াই আমি কীভাবে শাখাকে ট্রাঙ্কে একত্রীকরণের জন্য টরটোইজএসভিএন 1.5 ব্যবহার করব?
  3. উপরোক্ত বিকল্পগুলির মধ্যে কোনটি আমার প্রত্যেকের জন্য ব্যবহার করা উচিত এবং কেন?

সম্পাদনা

"ড্রাই ড্রাই" পরীক্ষার মাধ্যমে আমি খুঁজে পেয়েছি যে কমান্ড লাইন সাবভার্সন অপারেশন

এসএনএন মার্জ http://svn.myurl.com/proj/trunk

টরটোইজএসভিএন-তে বিকল্প # 1 (সংশোধনগুলির একটি ব্যাপ্তি মার্জ করুন) এর সাথে সাদৃশ্যপূর্ণ, যতক্ষণ না আমি সংশোধন সীমাটি ফাঁকা ছেড়ে চলেছি।


লিঙ্কগুলি পাওয়া যায় নি! = /
লিওনার্দো কোস্টা

উত্তর:


28

আপনার সংগ্রহস্থলটি কোন সংস্করণে রয়েছে তার উপর আচরণ নির্ভর করে। সাবভার্সন ১.৫ চার ধরণের মার্জকে অনুমতি দেয়:

  1. সোর্স URL11 [@N] উত্স URL 2 [@ এম] [WCPATH]
  2. একত্রিত উত্স WCPATH1 @ N উত্সWCPATH2 @ এম [ডাব্লুসিপিএটিএইচ]
  3. মার্জ করুন [-সি এম [, এন ...] | -আর এন: এম ...] উত্স [@ আরইভি] [ডব্লিউসিপিএইচ]
  4. একত্রিত করুন - পুনরায় যোগসূত্র উত্স [@REV] [WCPATH]

1.5 এর আগে সাবস্ট্রেশন কেবল প্রথম 2 ফর্ম্যাটের অনুমতি দেয়।

প্রযুক্তিগতভাবে আপনি প্রথম দুটি পদ্ধতির সাথে সমস্ত মার্জ সম্পাদন করতে পারেন, তবে শেষ দুটি দু'টি সাবভারশন 1.5 এর মার্জ ট্র্যাকিং সক্ষম করে।

কচ্ছপ এসভিএন-র বিকল্পগুলি আপনার সংগ্রহস্থল 1.5+ বা যখন আপনার সংগ্রহশালাটি পুরানো হয় তখন পদ্ধতিতে মানচিত্রটিকে 3 পদ্ধতিতে সংশোধন করে বা সংশোধন করে।

রিলিজ / রক্ষণাবেক্ষণ শাখায় বৈশিষ্ট্যগুলি মার্জ করার সময় আপনার 'সংশোধনীগুলির একটি পরিসর মার্জ করুন' আদেশটি ব্যবহার করা উচিত।

কেবল যখন আপনি কোনও শাখার সমস্ত বৈশিষ্ট্যকে প্যারেন্ট শাখায় ফিরে যেতে চান (সাধারণত ট্রাঙ্ক) তখন আপনাকে 'একটি শাখা পুনরায় সংযুক্ত করতে' ব্যবহার করা উচিত।

এবং শেষ কমান্ডটি - দুটি পৃথক ট্রি মার্জ করুন- যখন আপনি সাধারণ শাখাগুলির আচরণের বাইরে যেতে চান কেবল তখনই কার্যকর। (যেমন, বিভিন্ন প্রকাশের সাথে তুলনা করা এবং তারপরে পার্থক্যটি অন্য একটি শাখায় মার্জ করা)


কেউ দয়া করে আমাকে স্ট্যাকওভারফ্লো / প্রশ্নগুলি / ৫১6577636366 / ......... সাহায্য করতে পারেন । এটি আমাদের দলের কাছে একটি গুরুত্বপূর্ণ প্রশ্ন, আমাদের চারপাশে কিছু ধারণা প্রয়োজন।
অঙ্কুর

249

আমি অন্য উত্তরগুলি সঠিকভাবে অনুসরণ করতে পারি না, এখানে আরও অনেক ডামি গাইড রয়েছে ...

আপনি রাস্তা যেতে যেতে trunk -> branchবা যেতে পারেন branch -> trunk। আমি সর্বদা সেখানে প্রথমে trunk -> branchকোনও বিবাদ সংশোধন করে তারপরে মার্জ করি branch -> trunk

ট্রাঙ্কটি একটি শাখা / ট্যাগে মার্জ করুন

  1. শাখা / ট্যাগ চেকআউট করুন
  2. শাখার গোড়ায় ডান ক্লিক করুন | কচ্ছপ এসভিএন | একত্রিত করা ...
  3. মার্জ প্রকার: সংশোধনী একটি ব্যাপ্তি | 'পরবর্তী' ক্লিক করুন এখানে চিত্র বর্ণনা লিখুন
  4. পুনর্বিবেচনার পরিসরটি মার্জ করুন : আপনি শাখা / ট্যাগে অনুলিপি করেছেন এমন ট্রাঙ্ক ডিরেক্টরিটির URL নির্বাচন করুন। একত্রিত করতে পুনর্বিবেচনাগুলি প্রবেশ করান বা সমস্ত সংশোধনগুলিকে মার্জ করার জন্য ক্ষেত্রটি খালি রেখে দিন 'পরবর্তী' ক্লিক করুন এখানে চিত্র বর্ণনা লিখুন
  5. বিকল্পগুলি মার্জ করুন: আমি এগুলি ডিফল্ট হিসাবে রেখেছি | 'মার্জ' ক্লিক করুন এখানে চিত্র বর্ণনা লিখুন
  6. এটি চেক আউট শাখা / ট্যাগে সংশোধনগুলি মার্জ করবে
  7. তারপরে শাখা / ট্যাগে মার্জড পরিবর্তনগুলি প্রতিশ্রুতিবদ্ধ করুন

4
আমি "সংশ্লেষের জন্য সংশোধনী পরিসীমা" রেখেছি এবং একটি "টেস্ট মার্জ" করেছি। এটি আমার প্রয়োজন ছিল: পরিসীমাটি স্বয়ংক্রিয়ভাবে আমার জন্য নির্ধারণ করা হয়েছিল (যখন শাখাটি শাখায় শেষ সংশোধন করা হয়েছিল)
লিয়ান

দুর্দান্ত উত্তর - সংক্ষিপ্ত এবং অনুসরণ করা সহজ। এটি আমার পক্ষে কাজ করেছিল, কিন্তু যখন আমি কেবল একটি একক কনফিগারেশন ফাইলটি মার্জ করতে চেয়েছিলাম তখন কোনও কারণে আমাকে এটি দুটিবার করতে হয়েছিল। এখন সব ঠিক আছে। চিয়ার্স
উইঙ্গার

@ লিয়ান আমি কাণ্ড থেকে শাখায় মিশতে একই কাজ করেছি; আপনি যদি ট্রাঙ্ক থেকে ফাইলগুলির সর্বশেষ সংস্করণটি শাখার ফাইলগুলির সাথে একত্রীকরণ করতে চান তবে পুনর্বিবেচনা পরিসরটি ফাঁকা ছেড়ে যান।
উইঙ্গার

2
কচ্ছপ এসভিএন এর বর্তমান সংস্করণে এখন 4 ধাপে রিভিশন রেঞ্জটি ফাঁকা না রেখে সমস্ত সংশোধনী একত্রিত করার বিকল্প রয়েছে
অজানা দেব

1
@ ওঙ্কর কিছু বিবাদ প্রায় সর্বদা ঘটবে। যদি আপনি দুটি শাখা পেয়েছেন, যেমন trunkএবং branch, তাহলে trunkআপনি branchযত তাড়াতাড়ি সম্ভব যেকোন পরিবর্তন মার্জ করে নিলে নিশ্চিত হওয়া যতটা সম্ভব দ্বন্দ্ব এড়াতে পারে। এর অর্থ হ'ল branchআপনি যখন এতে একীভূত হবেন trunkতখন কোনও দ্বন্দ্ব হওয়া উচিত নয়।
icc97

12

আপনার "পুনর্বিবেচনার পরিসরটি মার্জ করুন" ব্যবহার করা উচিত।

ট্রাঙ্ক থেকে একটি শাখায় পরিবর্তনগুলি মার্জ করার জন্য, শাখার কার্যকরী অনুলিপিটির মধ্যে "সংশোধনগুলির বিস্তৃত পরিসর" নির্বাচন করুন এবং ট্রাঙ্ক URL এবং মার্জ করার জন্য প্রারম্ভ এবং শেষের সংশোধনগুলি প্রবেশ করুন।

ট্রাঙ্কে একটি শাখা মার্জ করার জন্য বিপরীত পথে একই।

: --Reintegrate পতাকা সম্পর্কে এখানে ম্যানুয়াল চেক http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-merge.html#tsvn-dug-merge-reintegrate


1

এক নজরে দেখুন svnolve.py । এটি কমান্ড-লাইন, কচ্ছপ এসভিএন দ্বারা চালিত হতে পারে না, তবে এটি আরও শক্তিশালী। এফএকিউ থেকে :

.তিহ্যবাহী বিপর্যয় আপনাকে পরিবর্তনগুলি মার্জ করতে দেবে, তবে আপনি ইতিমধ্যে কী একীভূত করেছেন তা "মনে রাখে না"। কোনও পরিবর্তন সেটটিকে মার্জ হওয়া থেকে বাদ দেওয়ার জন্য এটি কোনও সুবিধাজনক উপায় সরবরাহ করে না। এস.এন.এন.এম.পি.পি কিছু কাজ স্বয়ংক্রিয় করে তোলে এবং এটি সরল করে তোলে। এসভিএনমার্জ লগ বার্তাগুলির সাথে এটি মিশ্রিত হওয়া সমস্ত বিষয় থেকে একটি প্রতিশ্রুতিবদ্ধ বার্তা তৈরি করে।


6
এসএনএমআর.এমপি সাবরোশন ১.৪ এবং তার আগে তৈরি হয়েছিল। সাবভার্সন 1.5 মূল পণ্যটিতে মার্জ ট্র্যাকিং চালু করেছে।
বার্ট হুইজবেন

0

ফোল্ডারে শিফট-রাইট ক্লিক করুন এবং কচ্ছপ এসভিএন -> সমস্ত মার্জ করুন নির্বাচন করুন

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