2

如果文件打开,是否可以通过包装器或更新前挂钩阻止文件的 svn 更新?

我团队中的许多同事在他们打开的 LaTeX 文件上调用 SVN 更新时遇到了 Tortoise SVN 问题,尽管他们试图确保良好的实践使用。以这种方式更新时,冲突更难解决,并且更改会丢失。

4

1 回答 1

2

Bahrep 关于锁定文件的评论是一种简单的方法。但是 LaTeX 文件不是二进制文件,所以如果可能的话,允许 Tortoise 合并更改是有意义的。

TortoiseSVN 可以将钩子脚本作为工作副本的一部分。然后使用特殊的 TortoiseSVN 属性,例如svn::startupdatehookorsvn::preupdatehook来执行该脚本。阅读相应文档页面中的“客户端挂钩脚本” 。确保%REPOROOT%在指定路径时使用变量。

至于脚本本身,这似乎是一个棘手的问题。也许SysInternals 工具包中的某些工具可以提供帮助,例如Handle.exe. 也许您可以使用 PowerShell 中的某些内容。

还有这个Stack Overflow question,有希望的答案。带有 PowerShell 的那个可能比公认的那个更有用。

于 2022-02-14T11:40:11.213 回答