我最近需要在新项目的源代码中嵌入Visual Source Safe历史记录,根据我们在旧项目中的一些示例,其中历史出现在编码器放置了某些注释的位置。最终结果如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
//$Archive: /UserManagementSolution.root/UserManagementSolution/UserDAL/Tems.cs $
//$History: Tems.cs $
//*
//* ***************** Version 3 *****************
//* User: michaelc Date: 1/31/13 Time: 9:44a
//* Updated in $/UserManagementSolution.root/UserManagementSolution/UserDAL
//
//
namespace UserDAL
{
public class Tems
版本及其后面的两行由VSS放置。我知道VSS根据放置线的位置放置了历史记录:
//$Archive: $
//$History: $
//*
请注意,VSS还会将VSS文件信息放在$ Archive和$ History段中。只需使用如图所示的美元符号告诉它信息的来源。
然而,当我实际检查代码(大约20个C#文件)时,VSS将历史记录放在WITHOUT注释字符中,从而打破了构建。这需要一些恼人的返工来评论这些线条。问题是,如何将VSS评论为历史记录?
答案 0 :(得分:0)
我花了一些时间思考问题,然后突然想起srcsafe.ini文件中需要一些编码来告诉VSS将历史记录放在注释行中。
我找到了一个行为符合要求的项目的srcsafe.ini文件,并将其与我的新项目进行了比较。我在正确行为的.ini文件中找到了以下行:
Keyword_Masks = *.cs, *.sql
Shadow =
[Keyword Comments]
*.cs = "//"
*.sql = "--"
Keyword_Masks和Shadow关键字放在UseHelperService之后的.ini文件中。我想Keyword_Masks(用逗号分隔的值)告诉VSS哪些文件类型放置历史(我不知道Shadow表示什么,但是因为它出现在我们所有的项目中,我不想省略它并找出来它后来引起了一些巧妙的错误)。
新的[关键字评论]部分紧接着发生(在[时区]部分之前。这显然告诉VSS哪些字符用于行注释,以及哪种文件类型。
就这样做了!
请注意,如果您使用的是Visual Basic,则会将其编码为* .vb。明显。而且你不必包含Sql;在这种情况下,我们的VSS项目恰好包含了我们在VSS中保存的存储过程的解决方案和项目文件。