Как найти извлеченные файлы - PullRequest
1 голос
/ 22 июня 2009

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

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

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

Ответы [ 2 ]

3 голосов
/ 22 июня 2009

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

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

2 голосов
/ 22 июня 2009

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

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

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

...