可视化源代码安全自动提交



我目前正试图通过命令行使用MS Visual Source Safe设置一个自动添加/签出/检查脚本。在线文档是…缺乏……我希望过去也有人尝试过这样做。

在进一步讨论之前,我很清楚有其他更好的VSS替代品,所以请不要给出"使用SVN"作为答案。

我得到的文件是数据库模式的脚本版本,在repo中看起来像这样:

$/project_name/DBScripts/servers/databases/object_types,其中object_types是Tables, StoredProcedures等

我正在尝试做以下事情:

1-脚本所有数据库对象到文件。这部分已经完成并且工作正常。
2-将所有新文件添加到repo。
提交所有修改过的文件。确保文件不保持签出或只读状态。

编辑2:

再次删除旧代码。包括下面的当前代码。Add可以正常工作,但是checkout命令不能在本地更改的任何文件上工作。

在这个上下文中,如果我要修改存储的进程A,用脚本将其写入文件,然后尝试运行下面的批处理命令,除了A之外的所有进程都将被检出。

我包含了2个checkout命令的示例。both is working…

set PATH=%path%;C:Program FilesMicrosoft Visual SourceSafe
set SSDIR=repo_path
cd DBScripts/server/database/StoredProcedures
ss cp $/project/DBScripts/server/database/StoredProcedures
for %%F in (*.*) do ss add %%~nF%%~xF -C- -I-N -K- -W
for %%F in (*.*) do ss checkout $/project/DBScripts/server/database/StoredProcedures/%%~nF%%~xF -C- -G- -M- -L+
ss checkout $/project/DBScripts/server/database/StoredProcedures *.* -C- -G- -M- -L+ -Vltemp
for %%F in (*.*) do ss checkin %%~nF%%~xF -C- -K- -P $/project/DBScripts/server/database/StoredProcedures -W
cd ../../../..

注意:SourceSafe的"-R"命令不一致。我宁愿手动遍历所有子文件夹并执行"for %%F in (.)"命令。

可能是在之前的add/checkout命令完成之前执行了checkin命令。尝试在执行checkout命令之前检查add是否成功,并在执行checkin命令之前检查checkout是否成功。

最新更新