【发布时间】:2011-10-26 21:12:27
【问题描述】:
我目前正在尝试通过命令行使用 MS Visual Source Safe 设置自动添加/签出/检查脚本。在线文档......缺乏......我希望其他人过去曾尝试过这样做。
在继续之前,我很清楚还有其他更好的 VSS 替代方案,所以请不要给出“使用 SVN”作为答案。
我得到的文件是我们数据库模式的脚本版本,在 repo 中看起来像这样:
$/project_name/DBScripts/servers/databases/object_types,其中 object_types 是 Tables、StoredProcedures 等。
我正在尝试执行以下操作:
1- 将所有数据库对象编写成文件。这部分已完成并正常工作。
2- 将所有新文件添加到 repo。
3- 提交所有已更改的文件。确保文件不会保持签出或只读状态。
编辑 2:
再次删除旧代码。包括下面的当前代码。 Add 工作正常,但 checkout 命令不适用于本地更改的任何文件。
在这种情况下,如果我要修改存储的 proc A,将其写入文件,然后尝试运行下面的批处理命令,所有 procs BUT A 都将被检出。
我已经包含了 2 个 checkout 命令的示例。两者都不起作用...
set PATH=%path%;C:\Program Files\Microsoft 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 (.)”命令。
【问题讨论】:
-
您能告诉我们更多关于“哪个绝对行不通”的信息吗?您收到任何错误消息吗?还是命令不符合您的要求?
-
虽然我很欣赏您的回复,但我通过代码的各种迭代得到的错误并没有真正的用处——我不想纠正我的代码中的一些错误。相反,我只需要帮助构建正确的 ss.exe 命令。此外,这可能应该是评论,而不是答案。
-
我在查找解决方案时阅读的一些主题表明 SourceSafe 可能存在错误,可能需要升级。真的希望这里不是这种情况......
标签: version-control automation visual-sourcesafe