সাবভারশনে, আমি কীভাবে আমার অ্যাপ্লিকেশনটির একটি নতুন প্রধান সংস্করণ সেট আপ করব?


10

আমি আমার বাণিজ্যিক অ্যাপ্লিকেশনটির নতুন সংস্করণে (সংস্করণ 4) কাজ শুরু করতে চলেছি। আমি সাবভারশন ব্যবহার করি।

আপনার অভিজ্ঞতা, ভুল এবং সাফল্যের উপর ভিত্তি করে আপনি সাবভার্সনে নতুন সংস্করণটি সেট আপ করার পরামর্শ দিবেন কীভাবে?

এখানে কিছু তথ্য: আমি সংস্করণ 4 প্রকাশের পরে কিছু সময়ের জন্য 3 সংস্করণে সমালোচনামূলক আপডেটগুলি অবিরত রাখার মনস্থ করি তবে নতুন বৈশিষ্ট্যগুলির সমস্ত বিকাশ সম্পূর্ণরূপে সংস্করণ 4 এ হবে।

যদি এটি প্রাসঙ্গিক হয় তবে: আমি এই পণ্যটির একক বিকাশকারী এবং এটি সম্ভবত অবধি রয়ে যাবে।

সম্পাদনা: আমি এসভিএন এর ট্যাগ এবং শাখা সম্পর্কে সচেতন। আমার অনুমান যে আমার যা দরকার তা হ'ল আমার পরিস্থিতিতে ট্যাগ এবং শাখা ব্যবহারের জন্য একটি অনুকূল কৌশল।

উত্তর:


8

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

আপনি এখনই যা প্রত্যাশা করছেন তা হ'ল trunkএবং আপনি সেখানে সংস্করণ 4 নম্বর করবেন। যদি কোনও বড় পরিবর্তনগুলি সংস্করণ 3 তে প্রত্যাবর্তিত হয় এবং আপনি এটি সংস্করণ 4 এ পেতে চান তবে পরিবর্তনগুলি ট্রাঙ্কের উপরে আনতে আপনি শাখা (v3) থেকে ট্রাঙ্কে (ভি 4) একীভূত করবেন ।

আপনি ট্যাগগুলিতেও দেখতে পারেন, যা শাখাগুলির মতো তবে একটি সংস্করণের লিঙ্ক, সাধারণত কোনও সংস্করণের শেষ সংস্করণ (বা প্রথম)।


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

এসএনএন-তে আইআইআরসি ট্যাগগুলি অগত্যা একক সংস্করণে লিঙ্ক দেয় না, প্রকৃতপক্ষে এগুলি অন্তর্নিহিত
জে কে ছাড়া

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

3

এটা নির্ভর করে.

আপনি ট্রাঙ্কে 4 সংস্করণ রাখতে পারেন এবং ভি 4 এ বিকাশ চালিয়ে যেতে পারেন। সংস্করণ 3 একটি শাখা হবে, যা আপনি প্রয়োজন হিসাবে আপডেট করুন। এই পদ্ধতির সুবিধা হ'ল যদি কোনও সমালোচনামূলক সমস্যা ভি 3-তে পাওয়া যায় যা ভি 4-তেও রয়েছে, আপনি শাখা জুড়ে ফাইলগুলিতে একটি সরল মার্জ করতে পারেন।

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

ব্যক্তিগতভাবে আমি প্রথম পদ্ধতির সাথে লেগে থাকি। একটি ভি 3 শাখা তৈরি করুন এবং এই শাখায় কোড এবং আপডেটগুলি বজায় রাখুন। নতুন ভি 4 কোডটি ট্রাঙ্কে তৈরি করা যেতে পারে।


2

আমি এই পরিস্থিতির জন্য একটি দুর্দান্ত গাইড পেয়েছি :

If you want to be able to both develop a newer version (in trunk) and 
fix bugs on an older version, what you want is a branch for the older 
version. You can fix your bug in the older version's branch, then 
make a new tag of that. 
Example: 
/repo/ 
        project/ 
                trunk/ 
                branches/   
                tags/ 
You've developed your software in trunk and are now ready to call it 
version 1.0. You make a branch and a tag: 
svn cp $REPO/project/trunk $REPO/project/branches/1.x 
svn cp $REPO/project/branches/1.x $REPO/project/tags/1.0 
/repo/ 
        project/ 
                trunk/ 
                branches/ 
                        1.x/    
                tags/ 
                        1.0/ 
Now you continue to develop in trunk, adding new features, and this 
will eventually become version 2.0. But while you're doing this, you 
find a bug in 1.0 and need to fix it quick. So you check out branches/ 
1.x, make the change, test it, and commit it. Then you tag that as 1.1: 
svn cp $REPO/project/branches/1.x $REPO/project/tags/1.1 
/repo/ 
        project/ 
                trunk/ 
                branches/ 
                        1.x/    
                tags/ 
                        1.0/ 
                        1.1/ 
If the bug also exists in trunk, then you need to port your bugfix to 
trunk. "svn merge" can help you there. 
cd trunk-wc 
svn merge -c$R $REPO/project/branches/1.x . 
where $R is the revision in which you fixed the bug on the 1.x 
branch. Now you test the fix in trunk and then commit it. Now the bug 
is fixed in trunk too. 

0

আপনি যা সম্পর্কে জিজ্ঞাসা করছেন তা হ'ল শাখা (এবং মার্জ) কৌশলটি ব্যবহার করা। সুতরাং কার্তিক টি পোস্ট নিন এবং সেটিকে একটি রেসিপি হিসাবে গ্রহণ করুন।

কিছু পটভূমির জন্য, নিম্নলিখিত সংস্থানগুলি পড়ুন:

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