একটি এসভিএন সংগ্রহস্থল নাকি অনেক?


106

আপনার যদি একাধিক, অসম্পর্কিত প্রকল্প থাকে তবে এগুলি একই ভাণ্ডারে রাখাই কি ভাল ধারণা?

myRepo/projectA/trunk
myRepo/projectA/tags
myRepo/projectA/branches
myRepo/projectB/trunk
myRepo/projectB/tags
myRepo/projectB/branches

অথবা আপনি কি প্রতিটি জন্য নতুন সংগ্রহশালা তৈরি করবেন?

myRepoA/trunk
myRepoA/tags
myRepoA/branches
myRepoB/trunk
myRepoB/tags
myRepoB/branches

প্রতিটি আগপাছ কি হয়? আমি বর্তমানে যা ভাবতে পারি তা হ'ল আপনি মিশ্র পুনর্বিবেচনা সংখ্যা পেয়েছেন (সুতরাং কী?) এবং svn:externalsসংগ্রহস্থলটি বাহ্যিক না হলে আপনি ব্যবহার করতে পারবেন না । (আমি মনে করি?)

আমার জিজ্ঞাসার কারণটি হ'ল কারণ আমি আমার একাধিক রেপোগুলিকে একের মধ্যে একীকরণের বিষয়টি বিবেচনা করছি, যেহেতু আমার এসভিএন হোস্ট রেপো প্রতি চার্জ নেওয়া শুরু করেছে।


3
কিছুক্ষণ আগেও আমি একই প্রশ্নটি জিজ্ঞাসা করেছি, সুতরাং আপনার আরও যদি সাহায্যের প্রয়োজন হয় তবে এখানে কিছু থাকতে পারে: stackoverflow.com/questions/130447/…
নাথান ডব্লু

1
ওহ অভিশাপ - দুপ্পের জন্য দুঃখিত। আমি অনুসন্ধানের চেষ্টা করেছি, আমি দিব্যি!
নিকফ 4

কোনও প্রোব নয় :) আমি চিন্তিত নই কেবল এটি উল্লেখ করেছি তাই আপনি যদি এখানে প্রয়োজনীয় সহায়তা না পান তবে আমার প্রশ্নে আরও কিছুটা সহায়তা থাকতে পারে
নাথান ডব্লিউ

1
নিকফ, এসএনএন: বহিরাগতরা একটি বড় সংগ্রহস্থল দিয়ে ঠিক কাজ করে। আপনি শুধু কোড আপনি আগ্রহী সঙ্গে রেপো তে সাব নির্দেশ।
বেন গার্টনার

যে কোনও সাধারণ বাণিজ্যিক সেটিংয়ে অবশ্যই স্পষ্টতই আপনার একাধিক রেপো থাকে। (যাতে, স্পষ্টতই, আপনি কিছু আলাদা আলাদা ক্লায়েন্ট / গোষ্ঠীগুলি কেবল তাদের নিজস্ব প্রকল্পগুলি দেখতে পারেন)) এমন একটি বৃহত ফ্রি-সাবভার্সন সাইট কল্পনা করুন যেখানে আপনি সাবস্ট্রেশন রেপো ব্যবহার করতে পারেন .... ভাবুন কতটা নির্বোধ! আমাদের প্রত্যেকের জন্য একটির পরিবর্তে তাদের কাছে কেবল একটি প্রচুর রেপো ছিল !!
ফ্যাটি

উত্তর:


77

একক বনাম একাধিক ইস্যু ব্যক্তিগত বা সাংগঠনিক পছন্দগুলিতে নেমে আসে।

একাধিক বনাম একক এর পরিচালনা মূলত অ্যাক্সেস নিয়ন্ত্রণ এবং রক্ষণাবেক্ষণে নেমে আসে।

একটি একক সংগ্রহস্থলের অ্যাক্সেস নিয়ন্ত্রণ একটি ফাইলে অন্তর্ভুক্ত থাকতে পারে; একাধিক ভাণ্ডারগুলির জন্য একাধিক ফাইলের প্রয়োজন হতে পারে। রক্ষণাবেক্ষণের একই সমস্যা রয়েছে - একটি বড় ব্যাকআপ, বা অনেকগুলি সামান্য ব্যাকআপ।

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

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

এটি কোনও বাইনারি, কালো এবং সাদা সমস্যা নয়।

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

JFTR:

সাবভারশনে পুনর্বিবেচনার সংখ্যার প্রকৃতপক্ষে সংগ্রহস্থলের বাইরে কোনও অর্থ নেই। যদি কোনও সংশোধনের জন্য অর্থপূর্ণ নামের প্রয়োজন হয় তবে একটি ট্যাগ তৈরি করুন

প্রতিশ্রুতিবদ্ধ প্রতিবেদনগুলি সহজেই সংগ্রহস্থলগুলিতে পথ দ্বারা ছাঁকানো হয়, সুতরাং কেবলমাত্র কোনও নির্দিষ্ট প্রকল্পের সাথে সম্পর্কিত সেগুলি পড়া একটি তুচ্ছ অনুশীলন।


সম্পাদনা করুন: এসভিএন এর জন্য একক অনুমোদন / প্রমাণীকরণ কনফিগারেশন ব্যবহারের বিশদগুলির জন্য ব্লেডের প্রতিক্রিয়া দেখুন ।


1
"[...] একাধিক ভাণ্ডারগুলির জন্য একাধিক ফাইলের প্রয়োজন হয়" এর জন্য অ্যাক্সেস নিয়ন্ত্রণ "অনেকগুলি রেপো একই অ্যাক্সেস নিষেধাজ্ঞার ফাইলটিতে নির্দেশ করতে পারে। আমার উত্তর নীচে দেখুন।
ফ্রেডেরিক মরিন

হাই কেন, আপনি কি এক-ভান্ডার-একাধিক-প্রকল্পের সেটআপে চেক আউট এবং শাখা প্রশাখার প্রক্রিয়াটি সম্পর্কে আরও মন্তব্য করতে আগ্রহী? আমি এখন এমন একটি সংস্থার সাথে কাজ করছি যার একটিতে একটি সংগ্রহস্থলে অনেকগুলি প্রকল্প রয়েছে যার প্রত্যেকটির নিজস্ব / প্রকল্প / <trunk> <ব্র্যাঙ্ক> <ট্যাগ্স> ফোল্ডার সিস্টেম রয়েছে। প্রকৌশলীগুলি রুট ডিরেক্টরি থেকে একবারে সমস্ত প্রকল্পগুলি পরীক্ষা করে
দেখছেন

25

আপনার নির্দিষ্ট ক্ষেত্রে এক (1) সংগ্রহস্থল নিখুঁত। আপনি প্রচুর অর্থ সাশ্রয় করবেন। আমি সবসময়ই মানুষকে একটি একক সংগ্রহস্থল ব্যবহার করতে উত্সাহিত করি। কারণ এটি একটি একক ফাইল সিস্টেমের মতো: এটি আরও সহজ

  • কোডের সন্ধানের জন্য আপনার একক জায়গা থাকবে
  • আপনার একক অনুমোদন থাকবে
  • আপনার কাছে একটি একক প্রতিশ্রুতিবদ্ধ নম্বর থাকবে (কখনও কখনও এমন প্রকল্প তৈরির চেষ্টা করা হয়েছে যা 3 টি रिपোর উপরে ছড়িয়ে আছে?)
  • আপনি সাধারণ পাঠাগারগুলি পুনরায় ব্যবহার করতে পারেন এবং এই লিবিগুলিতে আপনার অগ্রগতি ট্র্যাক করতে পারেন (এসএনএন: এক্সটার্নালগুলি পিআইটিএ এবং সমস্ত সমস্যার সমাধান করবে না)
  • প্রকল্পগুলি সম্পূর্ণ আলাদা আইটেম হিসাবে পরিকল্পনা করা হয়েছে, একসাথে বড় হতে পারে এবং ফাংশন এবং ইন্টারফেস ভাগ করতে পারে। এটি একাধিক দোকানে অর্জন করা খুব কঠিন হবে।

একাধিক ভাণ্ডারগুলির জন্য একক পয়েন্ট রয়েছে: বিশাল ভান্ডার পরিচালনা অস্বস্তিকর। বিশাল রেপো ডাম্পিং / লোড করতে অনেক সময় লাগে। তবে আপনি কোনও প্রশাসন করবেন না বলে আমি মনে করি এটি আপনার উদ্বেগের বিষয় হবে না;)

এসভিএন বড় সংগ্রহস্থলগুলির সাথে খুব ভাল স্কেল করে, বিশাল (> 100 গিগাবাইট) সংগ্রহস্থলগুলিতে এমনকি কোনও ধীরগতি নেই।

সুতরাং আপনার একক সংগ্রহস্থল নিয়ে ঝামেলা কম হবে। তবে আপনার রেপো লেআউটটি নিয়ে সত্যিই ভাবা উচিত!


2
একাধিক রেপো! = একাধিক অনুমোদন। আপনি যদি এসএনএন + এসএস, এবং ব্যক্তিগত-কী-প্রমাণীকরণ ব্যবহার করেন তবে একই হোস্টের একাধিক রেপো ব্যথাহীন।
ম্যাথু শিংকেল

1
আমি বলেছিলাম "একক repos == একক অনুমোদন" আপনার প্রত্যাখ্যান হিসাবে অবশ্যই "একাধিক repos == একাধিক অনুমোদন" নয় neg
পিটার পার্কার

1
প্রযুক্তিবিদ হওয়ায়, "একাধিক রেপো! = একাধিক অনুমোদন" বলার অর্থ এই নয় যে আপনি বোঝাতে চাইছেন। তিনি অন্যান্য ব্যবহারকারীদের সুবিধার্থে স্পষ্ট করে বলতে পারেন
কেসব্যাশ

এসএনএন: এক্সটার্নালগুলি সমাধান করে না এমন কয়েকটি সমস্যা কী?
ক্লিন্ট পাচল

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

7

আমি একাধিক সংগ্রহস্থল ব্যবহার করব। ব্যবহারকারীর অ্যাক্সেস ইস্যু ছাড়াও এটি ব্যাকআপ এবং পুনরুদ্ধারটিকে আরও সহজ করে তোলে। এবং যদি আপনি নিজেকে এমন একটি অবস্থানে খুঁজে পান যেখানে কেউ আপনাকে আপনার কোডের (এবং এর ইতিহাস) জন্য আপনাকে অর্থ দিতে চায় তবে তাদের কেবল একটি সংগ্রহস্থল ডাম্প দেওয়া আরও সহজ।

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


হ্যাঁ একাধিক একাধিক!
cfeduke

3
আপনি আপনার সংগ্রহস্থল ডাম্পকে যে কোনও পথে প্রবেশ / বাদ দিতে এবং কোনও পাথ ভিত্তিক তথ্য পৃথক করতে পারেন। সুতরাং এটি আসলে কোনও সমস্যা নয়।
পিটার পার্কার

যখন কেউ আপনাকে কোডটির জন্য অর্থ দিতে চায় তখন আপনি সংগ্রহস্থলের একটি সাবট্রিতে অ্যাক্সেস সেট আপ করতে পারেন।
স্যান্ডার রিজকেন

7

আমরা একটি একক সংগ্রহস্থল ব্যবহার করি। আমার একমাত্র উদ্বেগ ছিল স্কেল, তবে এএসএফের সংগ্রহস্থল (k০০ কে রিভিশন এবং গণনা) দেখার পরে আমি যথেষ্ট দৃ was় বিশ্বাসী যে অভিনয়টি কোনও সমস্যা হবে না।

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


7

সচেতন হন যে আপনার সিদ্ধান্ত নেওয়ার সময় অনেকগুলি এসভিএন রেপো একই কনফিগার ফাইলটি ভাগ করতে পারে।

উদাহরণ (উপরের লিঙ্ক থেকে নেওয়া):

আবরণের ভেতরে:

$ svn-admin create /var/svn/repos1
$ svn-admin create /var/svn/repos2
$ svn-admin create /var/svn/repos3

ফাইল: /var/svn/repos1/conf/svnser.conf

[general]
anon-access = none # or read or write
auth-access = write
password-db = /var/svn/conf/passwd
authz-db = /var/svn/conf/authz
realm = Repos1 SVN Repository

ফাইল: / ভেরি / এসএনএন / কনফিড / এথজ

[groups]
group_repos1_read = user1, user2
group_repos1_write = user3, user4
group_repos2_read = user1, user4

### Global Right for all repositories ###
[/]
### Could be a superadmin or something else ###
user5 = rw

### Global Rights for one repository (e.g. repos1) ###
[repos1:/]
@group_repos1_read = r
@group_repos1_write = rw

### Repository folder specific rights (e.g. the trunk folder) ###
[repos1:/trunk]
user1 = rw

### And soon for the other repositories ###
[repos2:/]
@group_repos2_read = r
user3 = rw

আপনি যখন সঠিক হন তবে একাধিক অনুমোদনের / প্রমাণীকরণ ফাইল একাধিক সংগ্রহস্থলের জন্য ব্যবহার করা যেতে পারে, এটি করা পছন্দসই বিষয়। আমি আপনার উত্তর প্রতিফলিত করতে আমার পোস্ট আপডেট করব। আমি কিছুটা প্রদাহজনক "WRONG" পাই।
কেন সৌম্য

1
আমি এই আগে কিভাবে করতে জানি না। ধন্যবাদ.
হার্ভে

5

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


5
কোনও সমস্যা নেই যদি আপনি উপযুক্ত প্রকল্পের ফোল্ডারটি সন্ধান করেন তবে আপনি কেবলমাত্র এই প্রকল্পের প্রতিশ্রুতিবদ্ধ প্রতিশ্রুতিগুলি পাবেন
পিটার পার্কার

হ্যাঁ, আপনি এটি করতে পারেন তবে ব্যক্তিগতভাবে আমি মনে করি যে একটি বড় সংগ্রহস্থল বজায় রাখা আরও কঠিন, ব্যবহারকারীর অধিকার পরিচালনা করা, ব্যাকআপ করা, সংশোধন সংখ্যা ইত্যাদি ইত্যাদি আপনার দলের প্রয়োজন অনুসারে, এসভিএন স্কেলগুলি সত্যিই ভাল যদি আপনি একটি বড় রেপো ব্যবহার করতে চান তবে ভাল হয় ...
সিএমএস

3
আমার কাছে ২০ টি ব্যাক আপ রাখার চেয়ে একটি ভাণ্ডার ব্যাক আপ করা সহজ মনে হয়। পার্শ্ব নোট হিসাবে, একটি সংগ্রহস্থল ব্যাকআপ করার একটি ঝরঝরে উপায় হল svnsync ব্যবহার করে কেবল পঠনযোগ্য অনুলিপিটি বজায় রাখা
স্যান্ডার রিজকেন

5

আমরা একটি ছোট সফটওয়্যার সংস্থা এবং আমরা আমাদের সকল বিকাশের জন্য একটি একক রেপো ব্যবহার করি। গাছটি দেখতে এরকম দেখাচ্ছে:

/client/<clientname>/<project>/<trunk, branches, tags>

ধারণাটি ছিল আমাদের একই ক্লাবটিতে ক্লায়েন্ট এবং অভ্যন্তরীণ কাজ হবে, তবে আমরা আমাদের সংস্থাকে নিজের "ক্লায়েন্ট" হিসাবে শেষ করেছি।

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


4

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

সত্যই যদিও, আপনার কেবল গিট ব্যবহার করা উচিত;)


4

একটি অতিরিক্ত বিষয় বিবেচনা করার বিষয়টি হ'ল একাধিক সংগ্রহশালা ব্যবহারের ফলে আপনি ইউনিফাইড লগিং (এসএনএন লগ কমান্ড) রাখার ক্ষমতা হ্রাস করতে পারেন যা একক একক সংগ্রহস্থল বাছাইয়ের পক্ষে একমাত্র ভাল কারণ।

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


2

আপনি যদি ট্র্যাক উইচের মতো সরঞ্জাম এসভিএন এর সাথে সংহত করার পরিকল্পনা করেন বা ব্যবহার করেন তবে প্রতি প্রকল্পে একটি রেপো ব্যবহার করা আরও বোধগম্য।


2

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

  • প্রথমেই / var / SVN /
  • প্রথমেই / var / SVN / বিন
  • প্রথমেই / var / SVN / repository_files
  • প্রথমেই / var / SVN / svnroot
  • প্রথমেই / var / SVN / svnroot / repos1
  • প্রথমেই / var / SVN / svnroot / repos2
  • ...

"বিন" এ, আমি svn-create.sh নামে একটি স্ক্রিপ্ট রাখি যা খালি সংগ্রহস্থল তৈরির সমস্ত সেটআপ কাজ করবে। আমি সেখানে ব্যাকআপ স্ক্রিপ্ট রাখি।

"সংগ্রহস্থল_ফায়ালস" এ, আমি সাধারণ "কনফ" এবং "হুকস" ডিরেক্টরিগুলি রাখি যেখানে সমস্ত সংগ্রহস্থলের সিমে লিঙ্ক রয়েছে। তারপরে, কেবলমাত্র ফাইলগুলির একটি সেট রয়েছে। এটি লিঙ্কগুলি ভঙ্গ না করেই দানাদার, প্রতি-প্রকল্প অ্যাক্সেসের ক্ষমতা হ্রাস করে। আমি যেখানে এটি স্থাপন করেছি তা উদ্বেগের বিষয় ছিল না।

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

#!/bin/bash

# Usage:
# svn-create.sh repository_name

# This will:
# - create a new repository
# - link the necessary commit scripts
# - setup permissions
# - create and commit the initial directory structure
# - clean up after itself

if [ "empty" = ${1}"empty" ] ; then
  echo "Usage:"
  echo "    ${0} repository_name"
  exit
fi

SVN_HOME=/svn
SVN_ROOT=${SVN_HOME}/svnroot
SVN_COMMON_FILES=${SVN_HOME}/repository_files
NEW_DIR=${SVN_ROOT}/${1}
TMP_DIR=/tmp/${1}_$$

echo "Creating repository: ${1}"

# Create the repository
svnadmin create ${NEW_DIR}

# Copy/Link the hook scripts
cd ${NEW_DIR}
rm -rf hooks
ln -s ${SVN_COMMON_FILES}/hooks hooks

# Setup the user configuration
cd ${NEW_DIR}
rm -rf conf
ln -s ${SVN_COMMON_FILES}/conf conf

# Checkout the newly created project
svn co file://${NEW_DIR} ${TMP_DIR}

# Create the initial directory structure
cd ${TMP_DIR}
mkdir trunk
mkdir tags
mkdir branches

# Schedule the directories addition to the repository
svn add trunk tags branches

# Check in the changes
svn ci -m "Initial Setup"

# Delete the temporary working copy
cd /
rm -rf ${TMP_DIR}

# That's it!
echo "Repository ${1} created. (most likely)"

2

একক রেপো ব্যবহারের মতো ম্যালাম্বির মতো, তবে নির্দিষ্ট ধরণের প্রকল্পগুলি সহজেই জুম করার জন্য ফোল্ডার কাঠামোর সাথে কিছুটা এগিয়ে গিয়েছিল - ওয়েব এইচটিএমএল ভিত্তিক প্রকল্প বনাম সিএস (সি #) বনাম এসকিউএল (এসকিউএল তৈরি / সম্পাদনা স্ক্রিপ্টগুলি) বনাম xyz ( ডোমেন নির্দিষ্ট ভাষা যেমন আফল (অ্যামি ব্রোকার ফর্মুলা ল্যাঙ্গুয়েজ) বা টিএস (ট্রেডস্টেশন):

/<src|lib>/<app-settings|afl|cs|js|iphone|sql|ts|web>/<ClientName>/<ProjectName>/<branches|tags>

দ্রষ্টব্য, আমি শাখাগুলির মধ্যে লাইভ ট্রাঙ্ক রেখেছি কারণ আমি এটিকে ডিফল্ট শাখা হিসাবে বিবেচনা করি। কেবলমাত্র ব্যথা কখনও কখনও হয় যখন আপনি দ্রুত অন্য প্রকল্প তৈরি করতে চান আপনার প্রজেক্টনাম / শাখা | ট্যাগগুলির কাঠামো তৈরি করতে হবে। নির্দিষ্ট অ্যাপ্লিকেশন সেটিংস ফাইলগুলিকে রেপোতে যাতে সহজেই অন্যের কাছে ভাগ করে নেওয়া যায় সে জন্য আমি অ্যাপ্লিকেশন-সেটিংগুলি কেবল স্থান হিসাবে ব্যবহার করি (এবং এই ফোল্ডার কাঠামোর মধ্যে ক্লায়েন্টনামটি ভেন্ডরনাম এবং প্রকল্পনামে অ্যাপনামে প্রতিস্থাপন করতে পারি; এবং শাখা | ট্যাগগুলি বিভিন্ন মেজাজে সেটিংস ট্যাগ করতে কার্যকর হতে পারে) বিক্রেতা পণ্যগুলির সংস্করণগুলিও)।

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


1

আমার পরামর্শ এক। আপনার প্রতিটি ব্যবহারকারী অ্যাক্সেস করার জন্য আলাদা আলাদা ব্যবহারকারী না থাকলে আমি একাধিক ব্যবহার বলব।

তবে আবারও এটি একাধিক ব্যবহারের জন্য ভাল কারণ নয়।

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