VisualSVN-svn 状态错误 W155007

VisualSVN-svn 状态错误 W155007

我正在尝试编写一个提交后钩子,它将压缩所有已更改的文件并保存目录树。当我尝试svn status在存储库目录(包含 conf、db、钩子目录等)上执行 时,它会输出错误,W155007提示此目录is not a working copy。我无法承受仅为了压缩而将存储库克隆到本地,因为存储库大小可能超过 1TB。

我做错了什么,有没有可以在 Windows Server 机器上运行的这种钩子的示例?

答案1

我究竟做错了什么

很多:

  1. 你尝试(如你所见)使用设计用于 WC 的命令来操作存储库作为文件
  2. 另外,您还错过了一个细节 - 即使在(提交后清理)WC 中也svn st没有返回任何内容,因为 WC 是干净的
  3. 如果你想将一些非版本树与 HEAD 的状态同步,并且功能状态出口,你必须考虑到并处理不仅“已更改”文件的状态,而且至少处理“新”文件的状态,理想情况下还处理“已删除”文件的状态

无论如何,你必须学习svnlook 子命令并建立(使用前)可靠的工作流程

  • 要使用 repo 中的哪个修订版本
  • 如何获取此版本 ID
  • 考虑在提交前钩子中构建文件列表,并仅在提交后使用它

以及相关工具链。阅读svnlook 已改变为了获取文件,也许svnlook 最年轻用于获取子命令的修订changed,如果您只在提交后工作,并且希望始终从上次提交中获取文件(请注意对 WIP 分支的提交)

相关内容