2013-07-26 6 views
0

Я никогда не писал сценарий раньше, и сегодня меня попросили создать скрипт Visual SourceSafe, который возвращает все хранящиеся метки.Сценарий Visual SourceSafe, начиная с

У меня есть идея о том, как начать это, поскольку я никогда не писал сценарий раньше. Может ли кто-нибудь указать мне в правильном направлении с этим, пожалуйста? Спасибо!

+1

"Visual SourceSafe" - Все еще? В самом деле? AAAaarrrghh !!! –

+0

@MitchWheat Что? Если это что-то связано с тем, что это дерьмо, это не имеет ничего общего со мной, я просто попросил написать сценарий, я интернирую в компании. Любая помощь? – AndyOHart

ответ

1

Вы можете использовать History command SourceSafe, чтобы получить информацию об истории элемента и извлечь необходимую информацию о лейбле.

Вот простой пример для вас:

private void GetItem(VSSItem vssItem) 
    { 

      if (vssItem.Type == 0) //Type == 0 means it's a project 
      { 
       bool bIncludeDeleted = false; 
       IVSSItems vssItems = vssItem.get_Items(bIncludeDeleted); 
       foreach (VSSItem vssitem in vssItems) 
       { 
        GetItem(vssitem); 

        foreach (IVSSVersion vssVersion in vssitem.get_Versions(0)) 
        { 
         string vssItemName = ""; 
         if (vssVersion.VSSItem.Name == "") 
          vssItemName = vssitem.Spec; 
         else 
          vssItemName = vssVersion.VSSItem.Spec; 

         if (vssVersion.Action.IndexOf("Label") > -1) 
         { 
          if (vssitem.Spec == vssVersion.VSSItem.Spec) 
          { 

           MessageBox.Show("Item " + vssItemName + " in " + "Version " + vssVersion.VersionNumber.ToString() + " With the lable: " + vssVersion.Label); 
          } 

         } 
        } 

       } 
      }  
+0

Спасибо за это. Как заставить скрипт вернуть все метки? – AndyOHart

+0

Я добавил образец сценария для вашей справки. Дайте мне знать, как это работает для вас. – Rachel

+0

Спасибо за это, я дам вам знать ура! – AndyOHart