我在 Windows 机器上运行 Visual SVN 服务器。我使用的是集成到 Visual Studio 中的 VisualSVN 客户端。以前,我们使用 Visual SourceSafe,它具有锁定-修改-解锁版本控制模型。尽管此模型存在缺点,但它是我们习惯的,我们希望 Subversion 具有相同的行为。简而言之,我们不信任合并。
我已完成以下操作...
- 在配置的[miscellany]部分启用自动道具:
enable-auto-props = yes
- 在 [auto-props] 中添加条目以强制锁定所有文件:
* = svn:needs-lock=*
- 禁用无解锁以在提交时自动解锁文件:
no-unlock = false
- 更改 TortoiseSVN 设置,在锁定文件时不显示锁定对话框
- 更改 TortoiseSVN,如果没有错误则自动关闭对话框。
我还遇到了以下问题...
- 当我恢复更改时,锁没有被释放。它应该是被释放的。有什么方法可以在我恢复时强制解锁吗?
- 编辑:已修复!每次我开始进行更改时,它都会自动锁定,但它会向我显示一个对话框,上面写着“锁定已完成!”。这个对话框只会碍事。如果能够假设锁定已成功完成,那就太好了。有没有办法隐藏此对话框,并且仅在发生错误时才显示它。
我该如何解决这些问题?我真的不想听别人推销为什么我们应该使用复制-修改-合并,请帮我解决这些问题。
答案1
我认为您的问题出在 VisualSVN 上,您需要联系他们配置产品以不显示对话框并在恢复时自动解锁。Stefan 非常擅长修复问题,听起来不解锁配置项也应该适用于恢复和提交。请注意,恢复功能不会联系服务器,因此他可能认为这是一个不受欢迎的更改。
在大多数情况下,锁是需要手动明确锁定和解锁的,因此大多数使用它的人都希望确保他们解锁。
如果“锁定对话框”是 Tortoise 的功能,则可以将对话框配置为在没有错误时自动关闭。再次向邮件列表看看是否还有人想要这个改变。
PS。当我从 VSS 转换到 SVN 时,我决定采用复制-合并-修改方法,如果效果不佳,则锁定所有内容。没有人抱怨,他们都喜欢这个系统(我告诉他们不要尝试用二进制文件解决冲突)