كيف يمكنك تحديد مجموعة التغييرات التي يستخدمها المستودع الفرعي للفرن/الزئبق؟

StackOverflow https://stackoverflow.com/questions/8875127

  •  28-10-2019
  •  | 
  •  

سؤال

في الجواب على هذا السؤال على موقع تبادل مكدس الفرن، يوجد تعليق يذكر "إذا التزمت من أحد مستهلكي المكتبة، فلن يتمكن مستهلكو المكتبة الآخرون من رؤية مجموعات التغييرات هذه على الفور.يجب عليك سحب التغييرات بشكل صريح على مستودع المكتبة لدى المستهلكين الآخرين."

لقد أضفت بعض الملفات إلى المستودع المشار إليه في ملفات المشاريع .hgsub و.hgsubstate، لكنها لا تظهر في المستودع الفرعي للمشاريع (لأن المشروع يستخدم بشكل صحيح مجموعة التغيير السابقة التي تم تعيينها مسبقًا )

أود أن أعرف كيفية تعديل مجموعة التغييرات التي يستخدمها الريبو الفرعي.هل أقوم فقط بتحرير ملف .hgsubstate (يبدو "اختراقيًا" قليلاً) أم ​​أن هناك خيار موقع ويب للأوامر/الفرن يمكنني استخدامه؟

هل كانت مفيدة؟

المحلول

في المستودع الفرعي، hg update إلى مجموعة التغييرات التي تريد أن يستخدمها المستودع الرئيسي.ثم، في المستودع الرئيسي، القضية hg ci لارتكاب تغيير المستودع الفرعي.سيقوم Mercurial بتحديث ملف .hgsubstate ملف بمعرف مجموعة التغييرات الأصل الحالي للمستودع الفرعي.

مثال (ملف Windows .bat):

REM Create main repository
hg init Example
cd Example
echo >file1
hg ci -Am file1
cd ..

REM Create another repository
hg init Library
cd Library
echo >file2
hg ci -Am file2
cd ..

REM Clone the Library into the main repository
cd Example
hg clone ..\Library

REM and configure it as a subrepository.
echo Library=Library >.hgsub

REM Commit it.
hg ci -Am "Added Library sub repository."

REM Note .hgsubstate is updated with the current subrepo changeset.
type .hgsubstate
cd ..

REM Someone updates the original Library.
cd Library
echo >file3
hg ci -Am file3
cd ..

REM Main repo isn't affected.  It has a clone of Library.
cd Example
hg status -S

REM Update to the latest library
cd Library
hg pull -u
cd ..

REM View the changes to the library in the main repo.
hg status -S

REM Commit the library update in the main repo.
hg ci -m "Updated library."

REM Note .hgsubstate is updated.
type .hgsubstate
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top