【问题标题】:Visual Source Safe Automated Commit视觉源安全自动提交
【发布时间】: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


【解决方案1】:

可能的原因是在之前的添加/签出命令完成之前执行了签入命令。尝试在checkout命令前检查add是否成功,在checkin命令前检查checkout是否成功。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-05
    • 2012-11-30
    • 2023-04-02
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多