سؤال

أنا أستخدم المصدر المرئي Safe Safe 6.0D (متطلبات العمل) وأحاول اختراق البرنامج النصي الصغير Shell للسماح لي بإزالة شجرة مصدر بسهولة أو تحذيرني إذا تم فحص الملفات حتى أتمكن من صنع من المؤكد أنني لا أحذف العمل عن طريق الخطأ. هل هناك أي طريقة لمعرفة ما إذا تم التحقق من الملفات بخلاف التحقق من القراءة فقط على الملفات نفسها؟

  1. لا يبدو أن VSS يكتب أي ملف (أخذت لقطة من DIR قبل وبعد التحقق من ملف ولم يكن هناك فرق في الملفات المدرجة)
  2. لا يمكنني العثور على أي شيء عن طريق googling.
  3. لقد راجعت أيضًا vssver.scc للاختلافات ولم أجد أي شيء.

ضع في اعتبارك أن التحقق من الملفات القابلة للكتابة ليس أسوأ شيء في العالم ، لكن يبدو كما لو أن VSS يصنع عدة ملفات في شجرة المصدر ( *.ncb ، *.scc ، *.sln) القابلة للكتابة دون أن أتحقق من أي شيء. يمكنني ببساطة استبعاد الملفات ولكني أحاول العثور على حل أكثر أناقة قليلاً.

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

المحلول

ولعل التقنيات الأكثر قوة هي أن تسأل Sourcesafe نفسها عما يتم التحقق منه و/أو ما إذا كان يتم التحقق من الملفات الفردية ذات الاهتمام. بينما أدرك أنه ليس من الواضح كيفية القيام بذلك في نص Shell الصغير ، إلا أنني سأدعو إلى استخدام استخدام PowerShell لهذا.

المصادر المكشوف نموذج كائن أتمتة OLE (المعروف أيضًا باسم نموذج كائن com) ، ويمكن لـ PowerShell التحدث إلى كائنات com. إذا لم تكن معتادًا على هذه الأشياء ، فسيتعلم الكثير ولكن الأمر يستحق في النهاية.

بدلاً من ذلك ، إذا كان PowerShell غريبًا جدًا ، فيمكن أيضًا استخدام VBScript للتحكم في كائنات COM.

نصائح أخرى

يمكنك استخدام COM للتحقق مما إذا تم التحقق من ملف. ألق نظرة على ivssitem.ischeckedout منشأه. لمعرفة المزيد حول استخدام VSS من خلال com انظر:

http://msdn.microsoft.com/en-us/library/4d44xhsd٪28vs.80٪29.aspx

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