【问题标题】:How To Find Checked Out Files如何查找签出的文件
【发布时间】:2023-03-26 09:25:02
【问题描述】:

我正在使用 Visual Source Safe 6.0d(工作要求),我一直在尝试编写一个小 shell 脚本,以便我可以轻松删除源代码树或在我签出文件时警告我所以我可以确保我不会意外删除工作。除了检查文件本身的只读位之外,还有什么方法可以判断文件是否被签出?

  1. VSS 似乎没有写入任何文件(我在签出文件之前和之后对目录进行了快照,列出的文件没有区别)
  2. 我似乎无法通过谷歌搜索找到任何东西。
  3. 我还检查了 vssver.scc 是否存在差异,但没有发现任何东西。

请注意,检查可写文件并不是世界上最糟糕的事情,但似乎 VSS 在没有我检查的情况下使源树中的多个文件(*.ncb、*.scc、*.sln)可写什么都出来了。我可以简单地排除文件,但我正在尝试找到更优雅的解决方案。

【问题讨论】:

    标签: windows powershell com visual-sourcesafe vcs-checkout


    【解决方案1】:

    您可以使用 COM 来检查文件是否已签出。查看IVSSItem.IsCheckedOut 属性。有关通过 COM 使用 VSS 的更多信息,请参阅:

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

    【讨论】:

    • 谢谢——这就是我要找的。​​span>
    【解决方案2】:

    也许最可靠的技术是询问 SourceSafe 本身检查了哪些内容和/或是否检查了感兴趣的单个文件。虽然我意识到如何在一个小的 shell 脚本中执行此操作并不明显,但我建议为此使用 PowerShell

    SourceSafe 公开一个OLE Automation object model(也称为 COM 对象模型),并且 PowerShell 可以与 COM 对象对话。如果您不熟悉这些东西,那么需要学习很多东西,但最终还是值得的。

    另外,如果 PowerShell 太陌生,也可以使用 VBScript 来控制 COM 对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多