سؤال

إذا لقد خلق التسمية في TFS, وإسناد ذلك إلى عدة ملفات زملائي في العمل لا يمكن تغيير الإصدارات من الملفات (أو إضافة ملفات أخرى) إلى أن التسمية.نحصل على هذا الخطأ:

TF14077: The owner of a label cannot be changed. 

البحث عن المشكلة وجدت هذه المادة, التي تنص على:

فمن الممكن أن المستخدم يمكن أن يكون يسمح للتلاعب مشترك التسمية في وضع مجلد ولكن فقط التلاعب في التسميات التي يمتلكونها في إنتاج المجلد.(التشديد من الألغام)

سأحاول, لا أستطيع العثور على أي إشارة إلى "تقاسم التسميات".بقدر ما أستطيع أن أرى ، وهي التسمية يجب أن يكون مالكا.

FWIW, ما أحاول فعله هو توظيف "عائم" التسمية بحيث يمكن للمطورين تشير إلى أن الرمز هو على استعداد لتصبح جزءا من بناء عن طريق وضع علامات مع تسمية خاصة.ثم بناء العملية قد تحتاج فقط إلى الحصول على كل شيء بعد أن التسمية تلقائيا الحصول على أحدث الأشياء التي في الواقع على استعداد أن تكون مبنية ، وتجاهل كل الإصدارات السابقة فضلا عن أحدث الأشياء التي ليس جاهزا في الوقت المناسب.


تحديث: أعتقد إذا كنت لا يمكن أن تجعل حقا المشتركة التسمية ، على الأقل يمكنني اعطاء المستخدمين الحق في تحرير التسميات التي تم إنشاؤها من قبل زملاء العمل.هذه هي جميلة صراحة معتمدة.العادية مساهم المستخدمين لا يملكون هذا الحق ، ولكن وفقا MSDN (انظر المادة فريق مؤسسة خادم Permissions, تحت المصدر أذونات التحكم) ، فإنه يمكن أن تمنح عن طريق LabelOther إذن:

المصدر أذونات التحكم خاصة ملفات التعليمات البرمجية المصدر ، المجلدات.يمكنك تعيين هذه الأذونات بالنقر بزر الماوس الأيمن فوق المجلد أو الملف في المصدر Explorer التحكم, والنقر فوق خصائص و في التبويب الأمان ، اختيار المستخدم أو المجموعة التي تريد تغيير الأذونات ، ثم تحرير الأذونات المدرجة في الأذونات.يمكنك تعيين هذه الأذونات باستخدام tf أداة سطر الأوامر عن المصدر التحكم.

...

إدارة العلامات | tf: LabelOther | المستخدمين الذين لديهم هذا الإذن يمكن تحرير أو حذف التصنيفات إنشاؤه من قبل مستخدم آخر.

لذا عينت هذا الحق مجموعة المجال الذي يحتوي على جميع المطورين ، على النحو المقترح أعلاه.أنا يمكن أن تحقق من تعيينها باستخدام tf إذن الأمر:

tf permission /group:"CORP\Web Team"

و كما هو متوقع نتيجة (أنا أيضا تعيين التسمية ، للمتعة فقط)

===============================================================================
Server item: $/Test1/TeamBuildTypes (Inherit: Yes)
  Identity: CORP\Web Team
    Allow:
    Deny:
    Allow (Inherited): Label, LabelOther
    Deny (Inherited):

بعد الاختبار المستخدم لا يزال هو عدم السماح تحرير التسمية أنا خلقت.

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

المحلول 2

لم أكن قادرة على جعل هذا العمل مع التسميات.بدلا من ذلك, لقد وضعت كل عملية مختلفة باستخدام المتفرعة ، وأنا الآن نوصي بشدة أن أي شخص يقرأ هذا.

أنشأنا المتفرعة مخطط بحيث يوجد التنمية العامة الفرع ؛ من أن كل مطور له/لها فرع الخاصة التي يمكن أن تفعل ما تريد و هناك إنتاج فرع.

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

قلت أردت

ما أحاول القيام به هو توظيف "العائمة" التسمية حتى أن المطورين يمكن أن تشير إلى أن التعليمات البرمجية الخاصة بهم جاهزة أن تصبح جزءا من بناء عن طريق وضع علامات مع تسمية خاصة.

الخطة التي عرضتها آنفا بالكامل يحقق هذا, وأكثر من ذلك.

نصائح أخرى

أن تأجيل مجموعات يكون حل أفضل ما تفعله ؟ IIRC هناك غنية إلى حد ما API للعمل مع تأجيل مجموعات مثل ارتكابها كجزء من بناء (أو غيرها) عملية.

وجدت تسميات في TFS أن تكون محدودة جدا عندما اعتدت عليه.

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