বুধবারে দুটি প্রকল্পকে কীভাবে একত্রিত করা যায়?


84

আমার দুটি পৃথক মার্উরিয়াল রিপোজিটরি রয়েছে। এই মুহুর্তে এটি উপলব্ধি করে যে তারা "এক হয়ে যায়" কারণ আমি একই সাথে দুটি প্রকল্পে কাজ করতে চাই।

আমি সত্যই প্রতিটি প্রকল্প দুটি নতুন ভাণ্ডারের একটি উপ-ডিরেক্টরি হতে চাই।

  1. আমি কীভাবে দুটি প্রকল্প একীভূত করব?
  2. এটি কি খুব ভাল ধারণা, না আমার এগুলি আলাদা রাখা উচিত?

মনে হচ্ছে আমার এক ভান্ডার থেকে অন্য ভাণ্ডারে ঠেলাঠেলি করা উচিত ... সম্ভবত এটি সত্যিই সরাসরি?

উত্তর:


69

আমি এইভাবে আমার দুটি সংগ্রহস্থল একত্রিত করতে সক্ষম হয়েছি:

  1. hg clone first_repositoryএকটি সংগ্রহস্থল ক্লোন করতে ব্যবহার করুন ।
  2. hg pull -f other_repositoryঅন্যান্য সংগ্রহস্থল থেকে কোডটি টানতে ব্যবহার করুন ।

-f(বল) খিঁচ থাকা ফ্ল্যাগ চাবিকাঠি - এটা সত্য যে দুই ভান্ডার একই উৎস থেকে নয় উপেক্ষা করার বলছেন।

এই বৈশিষ্ট্যটির জন্য এখানে ডক্স রয়েছে


4
এটি কি দ্বিতীয় রেপো থেকেও কমিটের হ্যাশ কীগুলি সংরক্ষণ করে? (আমি অনুমান করব না, তবে আপনি একীভূত না হওয়া পর্যন্ত এটি ঠিক আছে))
ম্যাক ১৯

6
এটি কাজ করে তবে hg mergeঅবশেষে সবকিছু কাজ করার জন্য আপনাকে দৌড়াতে হবে
ফ্যাক্টর মিস্টিক

7
@Marcus লিন্ডব্লোম: একটি changeset কাছে কখনো হবে কি কখনো তার হ্যাশ পরিবর্তন করুন। এটি করার hg glogপরে যদি আপনি সন্ধান করেন তবে দেখতে পাবেন আপনার দুটি পরিবর্তন সম্পর্কিত লাইন রয়েছে। প্রতিটি লাইনে প্রথম পরিবর্তনটির কোনও পিতামাতাই নেই, তবে এটি মার্চুরিয়ালের জন্য কোনও সমস্যা নয়। একবার আপনি টানলে আপনি প্রতিটি লাইনের জন্য একটি নতুন পরিবর্তন সেট তৈরি করতে চান যেখানে আপনি hg mvযথাযথ সাবফোল্ডারে সমস্ত কিছু রেখে যান, তারপরে আপনি লাইনগুলিকে একত্রিত করুন এবং আপনি প্রস্তুত হয়ে গেছেন ।
স্টিভ লশ

4
যদি দুটি সংগ্রহস্থলের উভয়েরই কোডের মিল থাকে তবে কী হবে। এটি কি স্বয়ংক্রিয়ভাবে মার্জ দ্বারা পরিচালিত হবে? এবং সংযুক্তি হিসাবে, আমরা বলতে পারি $ এইচজি একীভূত হওয়া?
কমল

4
রেফারেন্সের উদ্দেশ্যে, এই প্রক্রিয়াটির জন্য এখানে ডকস রয়েছে Merurial.selenic.com/wiki/MergingUnrelatedRepositories
Gend

7

এইচজি 1.3 (2009-07-01) থেকে সাবরেপো করা শুরু করে । প্রথম সংস্করণগুলি অসম্পূর্ণ এবং নড়বড়ে ছিল তবে এখন এটি বেশ ব্যবহারযোগ্য।


4
আমি সাবরেপোসের সাথে কাজ করার জন্য একটি বেদনা পেয়েছি। তারা কাজ করে তবে তাদের আচরণের জন্য আপনাকে কয়েকটি হুপের মধ্য দিয়ে ঝাঁপিয়ে পড়তে হবে এবং আপনি যদি যত্নবান না হন তবে প্রচুর মাথা ব্যথার উত্স হতে পারেন।
পিট ডানকানসন

4
: টুকুনি যে subrepositories আনুষ্ঠানিকভাবে শেষ অবলম্বন এর একটি বৈশিষ্ট্য আছে হতে পারে mercurial.selenic.com/wiki/Subrepository (এর 2013.11.12 হিসাবে)
jtpereyda

3

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

আপনার সম্পাদনা সম্পর্কে: এক সংগ্রহশালা থেকে অন্য ভাণ্ডারে পুশ করা। আপনি সর্বদা transplantকমান্ডটি ব্যবহার করতে পারেন । যদিও, এই দুটি সত্যই দুটোকে একত্রিত করার আপনার ইচ্ছাকে বাড়িয়ে তুলছে , সুতরাং আমার পরামর্শগুলি ব্যবহার করে আপনি অস্বস্তি বোধ করতে পারেন। তারপরে আপনি বন বর্ধন বা কিছু ব্যবহার করতে পারেন।

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