ماذا تفعل إذا تم قفل الملف الموجود في TFS بواسطة شخص آخر؟

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

سؤال

غادر شخص ما المنظمة ولكن قبل مغادرته قام بإغلاق جميع الملفات لسبب غير معروف.

كيف يمكنك فتحها جميعًا حتى يتمكن المطورون الآخرون من العمل؟

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

المحلول

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

إذا كان لا يزال لديك اسم المستخدم الخاص بالشخص، فيمكنك ببساطة القيام بشيء مثل هذا:

  • افتح موجه أوامر Visual Studio (ابدأ -> البرامج -> Microsoft Visual Studio 200X -> أدوات Visual Studio -> موجه أوامر Visual Studio 200X)
  • قم بتشغيل الأمر التالي:

TF Lock /Lock: None /مساحة العمل: اسم العمل ؛ اسم المستخدم /العودية $ /

للحصول على قائمة بمساحات العمل للمستخدم، ما عليك سوى تشغيل الأمر التالي من نفس الموجه:

مساحات عمل tf / المالك: اسم المستخدم

لمزيد من الأوامر، تحقق تف /؟

نصائح أخرى

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

واطلع على آخر بلوق التالية فعلت في الموضوع عندما حدث لي قبل بضع سنوات.

http://www.woodwardweb.com/vsts/unlocking_files.html

ويمكنك إما حذف مساحة العمل باستخدام سطر الأوامر (tf.exe) أو يمكنك استخدام ممتازة rel="noreferrer"> من Attrice.

وكانت هذه هي الطريقة الوحيدة التي يمكنني حل هذه، التي شملت حذف مساحة العمل المستخدم:

http://2toad.com/Blog/ 2012/1/27 /-كيفية-إدارة-مساحات TFS

إذا رسالة خطأ تقول "البند $ / ... مقفل للسحب من قبل someUser: 1 في someMachine123 مساحة العمل." بعد ذلك استخدم الأمر:

tf workspace /delete /server:http://machinename:8080/tfs/DefaultCollection someMachine123;someUser:1

وهناك فقط مسافة واحدة بين URL جمع وsomeMachine123;someUser:1.

وعلما بأنني سيولي اهتماما لحقيقة أن رسالة الخطأ المذكورة المستخدم كما someUser:1، ولذا فإنني تحاكي أن في الأمر. لم يكن كافيا لمجرد تشغيل الأمر مع someUser فقط. لست متأكدا ما: هو 1 كل شيء ولكن النقطة، ميميك رسالة الخطأ

ملاحظة الخادم يجب أن يكون الطريق جمع مؤهل بشكل كامل، والتي يمكنك أن تجد من خلال الذهاب إلى فريق مؤسسة خادم إدارة Console-> طلب Tier-> فريق مجموعة المشاريع، الجزء السفلي ستظهر URL لجمع المحدد في الجزء العلوي.

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

أولا تحتاج إلى أن يكون الحق في القيام بذلك. إذا كان لديك أن الأسهل هو استخدام sidekicks TFS من attrice http://www.attrice.info/ سم / TFS /

كنت بحاجة إلى إضافة /collection:collectionURL وإلا فلن يتم العثور على مساحة العمل:

  • قائمة الاغراض

tf loc / القفل: لا شيء / مساحة العمل: اسم مساحة العمل؛ اسم المستخدم / المجموعة: عنوان URL للمجموعة

<وأ href = "http://blogs.microsoft.co.il/blogs/srlteam/archive/2007/03/14/Undo_2F00_Unlock-for-others-in-TFS.aspx" يختلط = "نوفولو noreferrer" > إليك تفسيرا استخدام أذونات TFS.

<اقتباس فقرة>   

وبعد أن "فتح التغييرات المستخدم الآخر"   مطلوب إذن المقرر أن السماح ل   إزالة القفل الذي عقد من قبل مستخدم آخر.

هل لديك إعادة تعيين مسؤول النظام للمستخدمين كلمة السر، تسجيل الدخول باسم المستخدم، وفتح كل الملفات ...

وأعتقد أن هذا هو الحل إلى ما يقرب من كل 'شخص الذي لم يعد في هذه المنظمة الأسئلة ...

من الأفضل حذف مساحة العمل الخاصة بهذا المستخدم من الخادم.مثال

مساحة عمل tf /حذف /server:your_tfs_server Workspace;username

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

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

الطريقة التي نجحت معي، حسابي لديه إذن المسؤول TFS والمشروع :

في فيجوال ستوديو 2015:

  1. اذهب إلى مستكشف الفريق
  2. انقر بزر الماوس الأيمن على الحل الخاص بك واختر مفتوح في معارض التحكم في المصدر
  3. على الجانب الأيسر انقر بزر الماوس الأيمن على الحل الخاص بك
  4. يختار متقدم
  5. يختار قفل...
  6. على الجانب الأيسر انقر بزر الماوس الأيمن على الحل الخاص بك
  7. يختار متقدم
  8. يختار الغاء القفل (الآن يمكنك اختيار فتح)

في الوقت الحالي، يمكن لكل مطور تنفيذ تغييراته بسهولة :)

استخدم هذا الحل كملاذ أخير.

أنا أستخدم TFS 2012.ذهبت إلى قاعدة بيانات TFS وقمت بتشغيل الاستعلامات التالية.وقد نجحت! بالطبع كن حذرًا جدًا عند العبث بقاعدة البيانات، أو أخذ نسخ احتياطية، وما إلى ذلك.

قاعدة البيانات تسمى Tfs_<<your_TFS_collection_name>>.تجاهل Tfs_Configuration قاعدة بيانات MSSQL.لست متأكدا ولكن إذا لم يكن لديك Tfs_<<your_TFS_collection_name>> قاعدة البيانات، قد تكون الإعدادات في Tfs_DefaultCollection قاعدة البيانات.يتم تخزين الأقفال في tbl_PendingChange.LockStatus.

/*Find correct row*/
SELECT LockStatus, PendingChangeId, *
FROM tbl_PendingChange
WHERE TargetServerItem like '%<<fileName>>%'

/*Set lock status to NULL (mine was set to 2 initially)*/
UPDATE tbl_PendingChange SET LockStatus = NULL WHERE
TargetServerItem like '%<fileName>>%'
AND PendingChangeId = <<PendingChangeId from above>>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top