必须用 svn:needs-lock 属性而非仅右键 Get Lock,因其强制文件默认只读、锁定后才可写,真正防止二进制资源(如PNG、PSD、FBX)被覆盖损坏;配合递归设置、规范锁操作与死锁管理,实现“一人一编辑”。

直接用 svn:needs-lock 属性配合手动锁操作,就能让图片、PSD、FBX 等不可合并资源真正“一人一编辑”,从源头杜绝覆盖和损坏。
为什么必须用 svn:needs-lock 而不只是右键 Get Lock
SVN 默认是乐观加锁——文件检出后可直接编辑,提交时才检查冲突。这对文本有效,但对 PNG、TGA、AE 工程等二进制文件毫无意义:它们不能合并,只能覆盖。单纯右键 “Get Lock” 只是申请锁,不改变本地文件权限,别人仍可能误删只读属性后强行保存。
而 svn:needs-lock 是唯一能强制“默认只读 + 锁定后才可写”的原生机制,Windows 下文件图标变灰、属性打钩“只读”,编辑器也无法直接保存,这才是真防护。
一次性设置属性(推荐按目录批量操作)
- 进入美术资源根目录(如 assets/art/ 或 Textures/)
- 右键 → TortoiseSVN → Properties → Add → 属性名填 svn:needs-lock,值留空
- 勾选 Recursive(递归),点 OK
- 提交这次属性变更:svn commit -m "启用美术资源只读锁"
注意:已检出的旧工作副本需执行 svn update 或重新 checkout 才会生效——否则文件仍是可写的。
美术人员日常操作四步不能跳
- 不打开就编辑:检出后文件是灰色只读状态,双击 PSD 通常打不开或提示“只读”,这是正常保护
- 编辑前先锁:右键文件 → TortoiseSVN → Get Lock…,务必填写简明理由(如“重绘角色UI图标”)
- 锁成功再修改:锁定后文件立刻变可写,图标解锁;若提示“已被 userX 锁定”,就暂停并沟通
- 提交即释放(或手动解锁):提交时勾选 Unlock after commit,或提交后右键 → Release Lock——避免锁长期滞留阻塞他人
绕过风险与管理员要盯的三件事
- 禁止手动取消“只读”属性:可在团队共享脚本中加入 attrib +R *.psd /s 定期校验,或通过组策略禁用资源管理器右键“属性→常规→只读”开关
- 清理死锁:用户断网未解锁时,用 svn info URL --show-item lock 查看,管理员执行 svn unlock URL --force 强制释放
- 对接引擎要小心:Unreal 或 Unity 内部 Save 会绕过 SVN 权限,必须约定“UE 中改完 → 退出编辑器 → 用 TortoiseSVN 提交”,不能 Save All 后直接关软件











