سؤال

لدي ملف في RTC (نسميها foo.c) أنني تعديل ودققت في التغيرات المعينة على (CS1) جنبا إلى جنب مع بعض التغييرات الأخرى.ثم تعديل هذا الملف مرة أخرى ودققت في مختلف التغيرات المعينة على (CS2) جنبا إلى جنب مع تغييرات أخرى.

لقد تعمل الآن في حالة حيث كنت ترغب في تقديم CS2 إلى تيار ، ولكن RTC يعطيني خطأ أن تقديم شأنها أن تخلق فجوة في تيار (بسبب التغير في CS1).أنا لا أريد أن يسلم كل CS1 حتى الآن, لأنه يحتوي على بعض التغييرات التي لا ينبغي أن يكون في بناء حتى الآن.الأصلي تغيير foo.c في CS1 كان قاصر إزالة #include, و لا يؤثر على أي شيء آخر.

هل هناك أي طريقة لحل هذه الفجوة ؟

أرى بعض الأشياء في RTC وثائق حول تطبيق بقع, ولكن أنا لا أفهم أين هو ذاهب مع هذا.
هل هناك طريقة لتقسيم التغيرات المعينة على إلى عدة changesets ، التي من شأنها أن تسمح لي فقط لتسليم ملف واحد?

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

المحلول

تحديث منذ عام 2012 (الأصلي "الحل البديل" من تقديم كل شيء و العودة ما لا تريد):

انظر هذا الموضوع:

في RTC 4.0.5 سلمنا دعم إضافي عند محاولة تقبل التغيير مجموعات التي لديها فجوة (اجه كثير من الأحيان عند محاولة backport إصلاحات).

في ملخص مختصر جدا من هذه الميزة ، عند قبول تغيير مجموعات مع وجود فجوة ، يمكنك الآن متابعة فجوة سير العمل أن يقبل تغيير واحد في كل مرة ، من أجل التغيير مجموعات التي تحتوي على الثغرات يخلق التغيير الجديد مجموعة (مع بمساعدة التتبع), الذي يحتوي على ما يعادل التغييرات.
وهذا يعني أن المستخدمين لن تضطر إلى قبول التغيير مجموعات 'كما التصحيح'.

تطبيق تغيير مجموعات بمثابة تصحيح قيود بالمقارنة مع العمل الجديد.
هذه الميزة تلخيصها في RTC 4.0.5 'الجديدة والجدير بالذكر' الصفحة.

وفيما يلي بعض مقاطع الفيديو التي تظهر هذه الميزة:

هذا هو تحديد تغيير مجموعات ميزة:

https://jazz.net/downloads/pages/rational-team-concert/4.0.5/4.0.5/images/gapeditor.png


في RTC 5.0 أضفنا "سد الفجوة" ميزة تغيير مجموعات التي تملأ الفجوة تظهر للمستخدم ، مما يتيح لهم إما أن تقبل كل تغيير مجموعات أو الاستمرار مع الفجوة سير العمل التي كانت متاحة في RTC 4.0.5.

هذه الميزة تلخيصها في RTC 5.0 الجديد والجدير بالذكر' الصفحة:

الفئات المعنية من أجل سد الفجوة تشمل (متوفر في RTC 5.0):

client side: IWorkspaceConnection.findChangeSetsToAcceptToFillGap(...) 
server side: IScmQueryService.findChangeSetsToAcceptToFillGap(...) 

كل الميزات بالتفصيل في "تحسين الفجوة التعامل مع SCM"المادة.

https://jazz.net/downloads/pages/rational-team-concert/5.0/5.0/images/missing-change-sets-dialog.png


الجواب الأصلية (2012)

هل هناك طريقة لتقسيم التغيرات المعينة على?

لا أعتقد ذلك, قراءة التغيرات المعينة على رجل الصفحة:

ملف أو مجلد في مكون لا يمكن أن تكون جزءا من أكثر من واحد نشط تغيير مجموعة.
عندما ملف أو مجلد يتم تضمينها في النشطة تغيير تعيين كافة التغييرات إلى أن تصبح جزءا من هذا التغيير تعيين ما إذا كان أو لم يكن تغيير المجموعة الحالية ، التغييرات إلى الملف أو المجلد لا يمكن صراحة تحققت في تغيير جديد حتى النشطة تغيير المجموعة التي تضم الانتهاء منه.

وجود فو.ج في CS1 و CS2 يعني CS1 تم "الانتهاء" (المجمدة في الجوهر) ، فإنه سيكون سيئا في محاولة تقسيمه.

التصحيح الحل يعني:

  • إلغاء CS1
  • إضافة إلى تغيير فو.ج إلى CS2
  • الإعادة CS1 التغييرات

انظر "كيف يمكنني إزالة تغيير مجموعة من تيار ؟ "

قصة 149483 عن تعزيز هذا مرهقة سير العمل ، و الفجوة الكشف ويجري تعزيز (تعزيز 24822)


على المرجع timwoj يختتم:

انتهى بي الأمر مجرد تحقيق كل ذلك ، ثم عكس تلك التي لم أكن أريد.

نصائح أخرى

المشكلة: cs1 التغييرات foo.c، cs2 آخر التغييرات foo.c.تريد فقط تسليم CS2، لكن RTC يخبرك ذلك من شأنه أن يعرض الثغرات.

الحل: قم بإنشاء رقعة من CS2 وتعليق كل من CS1 و CS2.ثم قم بتطبيق التصحيح، ودمجها في مساحة العمل الخاصة بك وتسجيل الوصول التغييرات التي ستقوم بإنشاء مجموعة تغيير أخرى، CS3، مماثلة ل CS2 ولكن بدون اعتماد على CS1.يمكنك الآن تسليم CS3.

بعد تسليم CS3، يمكنك تجاهل CS2 واستئناف CS1 الذي سيتطلب منك دمج CS3.

ثم يجب أن تكون في الولاية التي يبنيها CS1 على CS3 ويمكنك اختيار ما إذا كانت تسليم CS1 أم لا في المستقبل أم لا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top