Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

顺序合并与delete操作的交互流程

顺序合并前

顺序合并中

顺序合并完

乱序合并与delete操作的交互流程

乱序合并前

乱序合并开始即在当前存储组创建一个名为mergingModification的临时ModificationFile变量

...

乱序合并完

删除原mods文件对应数据的原mods文件将mergingModification中的记录分别全部写入对应文件的mods文件中,以保证乱序合并过程中delete操作的有效性

将mergingModification中的记录分别全部写入所有参与合并的顺序文件的mods文件中,以保证乱序合并过程中delete操作的有效性

顺序合并与delete操作的交互流程

顺序合并前

与乱序合并不同,顺序合并不创建mergingModification临时变量

顺序合并过程的delete操作仍然写入原mods文件中

顺序合并中

根据当前合并文件已经存在的mods文件过滤已经删除的数据,并记录此时生效的所有delete操作

但是,因为顺序合并过程的delete操作仍然会写入此mods文件,所以在顺序合并完后,可能有没被过滤掉的delete操作

顺序合并完

将所有原文件的mods文件合并,合并的过程中,过滤掉cache中已经生效过的delete操作

将合并完的mods文件命名为{目标文件名}.mods