Tortoise SVN提交频繁因锁失败,需频繁Cleanup求解决方案
解决TortoiseSVN因KeePass锁文件导致提交失败的问题
问题根源
KeePass打开数据库时会生成临时锁文件(默认是和数据库同目录的.kdbx.lock),即便你没修改数据库,这个锁文件也会被SVN的本地检测机制识别为未处理的锁资源,导致提交时触发“需清理锁”的提示。
无需关闭KeePass的解决方案
修改KeePass锁文件存储路径
- 打开KeePass,点击顶部菜单「工具」→「选项」
- 切换到「高级」标签页,找到「文件操作」区域的「锁定文件位置」
- 选择「自定义文件夹」,指定一个不在SVN仓库目录下的路径(比如系统临时文件夹
C:\Users\<你的用户名>\AppData\Local\Temp) - 确认设置后重启KeePass,后续锁文件会生成在指定目录,不会干扰SVN仓库
添加KeePass锁文件到SVN全局忽略列表
- 右键空白处,选择「TortoiseSVN」→「设置」
- 在左侧菜单找到「全局忽略模式」,在右侧输入框末尾添加
.kdbx.lock(注意和已有忽略项用空格分隔) - 点击「确定」,所有SVN仓库都会自动忽略该锁文件,避免锁冲突检测
调整KeePass文件锁定模式(可选)
- 右键KeePass中打开的数据库标签,选择「数据库设置」
- 切换到「高级」标签页,找到「文件锁定」选项
- 选择「仅在保存时锁定」:平时打开数据库不会持续持有锁,仅在保存瞬间短暂锁定,大幅降低冲突概率;若你不会多设备同时编辑数据库,也可选择「无锁定」(不推荐多人协作场景)
内容的提问来源于stack exchange,提问作者just_a_developer
相关产品推荐
相关产品推荐

