Skip to content

版本冲突处理指南 (Conflict Resolution)

在多人协作的项目环境中,当两名或多名团队成员同时修改了同一个文件并尝试提交时,就会产生 SVN 冲突。Sharp Stock 作为一款协作型工具,会实时监测此类潜在的冲突状态,并为您提供安全预警。

1. 冲突产生的典型场景

  • 并发元数据编辑:成员 A 修改了 icon.png 的标签并提交;成员 B 在未执行更新的情况下,修改了该文件的备注描述。当 B 尝试同步时,由于数据库记录不一致,将触发冲突。
  • 结构性冲突(树冲突):成员 A 在物理硬盘上移动了某个文件夹的位置,而成员 B 正好在对该文件夹下的资产进行编辑。

2. 如何识别冲突状态

  • 状态按钮提示:当左侧导航栏底部的 [提交][更新] 按钮显示为 红色高亮 时,表示当前资产库已检测到必须优先处理的版本冲突。
  • 操作拦截反馈:在尝试同步时,系统将弹出警告对话框,提示您必须先解决本地与服务器之间的差异方可继续。

3. 核心冲突分类说明

资产物理文件冲突 (.png, .fbx, .spine 等)

由于美术资产多为二进制格式,无法像代码一样执行行级自动合并。

  • 表现形式:本地目录中会出现带有 .mine.rX.rY 后缀的临时副本。
  • 处理原则:此类冲突必须由相关人员人工判断应保留哪一个版本。

核心数据库冲突 (assetlib.db)

这是最为关键的冲突类型,因为所有的标签、备注及自定义 ID 均存储于此。

  • 产生原因:多个用户在不更新的情况下,分别对不同的资产进行了元数据标注。
  • 潜在风险:若处理不当强行覆盖,将导致团队成员编写的宝贵元数据信息丢失。

4. 标准处理流程

Sharp Stock 优先保障数据安全,建议您按照以下专业步骤解决冲突:

第一步:完全退出应用

在开始修复冲突前,请务必 关闭 Sharp Stock 软件。此举是为了释放软件对 assetlib.db 文件的系统占用,防止在修复过程中发生数据损坏。

第二步:调用专业 SVN 客户端

打开系统资源管理器,在资产库根目录下通过 TortoiseSVN(或 macOS 上的相关工具)执行以下操作:

  1. 右键点击冲突文件,选择 Edit Conflicts (编辑冲突)
  2. 处理资源文件:根据需求选择 Resolve using 'mine'(采用我的修改)或 Resolve using 'theirs'(采用他人的修改)。
  3. 处理数据库文件:建议先核对 SVN 的提交记录日志。若无法自动合并,请务必保留元数据更全的版本,并同步知会相关协作成员。

第三步:标记冲突已解决

在完成手动修复后,在 TortoiseSVN 菜单中选择 Resolved (解决)。这将移除产生的临时文件,并允许您重新发起提交。


5. 协作预防建议

  • 同步优先准则:养成每天开启工作前先执行一次 [更新 (Update)] 的习惯,确保所有操作基于最新版本。
  • 原子化提交:建议采取“高频、小额”的提交策略,不要堆积数日的改动再一次性上传,这能有效降低冲突概率。
  • 团队沟通先行:在执行重大的目录结构调整(如大规模移动或重命名文件夹)前,请务必在团队沟通群内提前公示,协调成员避开该操作周期。