Как найти извлеченные файлы

Я использую Visual Source Safe 6.0d (рабочее требование), и я пытался собрать небольшой сценарий оболочки, чтобы позволить мне легко удалить дерево исходных текстов или предупредить меня, если у меня есть файлы, проверенные, чтобы я мог сделать уверен, что случайно не удаляю работу. Есть ли способ узнать, извлекаются ли файлы, кроме проверки бита только для чтения на самих файлах?

  1. Похоже, что VSS не записывает какой-либо файл (я сделал снимок каталога до и после извлечения файла, и в перечисленных файлах не было разницы)
  2. Кажется, я ничего не могу найти в Google.
  3. Я также проверил vssver.scc на различия и ничего не нашел.

Имейте в виду, что проверка записываемых файлов - не самое худшее в мире, но похоже, что VSS делает несколько файлов в исходном дереве (* .ncb, * .scc, * .sln) доступными для записи без моей проверки. Я могу просто исключить файлы, но я пытаюсь найти более элегантное решение.


person Onorio Catenacci    schedule 22.06.2009    source источник


Ответы (2)


Возможно, самый надежный метод - это спросить у самого SourceSafe, что проверяется и / или проверяются ли отдельные интересующие файлы. Хотя я понимаю, что не очевидно, как это сделать в небольшом сценарии оболочки, я бы рекомендовал использовать PowerShell для этого.

SourceSafe предоставляет объектную модель OLE Automation (также известная как объектная модель COM), а PowerShell может взаимодействовать с COM-объектами. Если вы не знакомы с этим, вам предстоит многому научиться, но в конечном итоге оно того стоит.

В качестве альтернативы, если PowerShell слишком чужероден, VBScript также можно использовать для управления COM-объектами.

person Dan Blanchard    schedule 22.06.2009

Вы можете использовать COM, чтобы проверить, извлечен ли файл. Взгляните на свойство IVSSItem.IsCheckedOut. Подробнее об использовании VSS через COM см .:

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

person heavyd    schedule 22.06.2009
comment
Спасибо - это то, что я ищу. - person Onorio Catenacci; 22.06.2009