冲突解决需保留双方内容
别名: 保留双方 · 冲突副本 · don't discard · 两侧原文
概念解释
冲突被看见之后,解决动作仍可能把其中一侧从世界上抹掉。保留双方内容要求:在人做出取舍之前,以及取舍当时,两份原文都还在、都可回看、都可被选进结果。解决可以是「只要 A」「只要 B」「拼成 C」,但不可以是「B 已经没了所以你只能要 A」。丢失的那份不是被拒绝,是被销毁。
这条假设冲突已经被暴露。它回答的是解决过程里原文的命运,不是要不要弹窗、也不是字段能不能自动并。
机制
人解决冲突靠对照:把 A 的句子和 B 的句子放在工作记忆里比较。工作记忆装不下整篇文档,所以对照必须有外部锚——两份都还在屏幕可达的地方。一侧被删,对照变成回忆,回忆会把「我好像写过一句更狠的」编成不确定,人只好接受留下的那份。销毁因此不是中立的存储优化,是把决策从比较改成将就。
第二层是事后反悔。选错了要能找回未选中的原文。若解决按钮把未选侧物理删掉,反悔只能靠备份运气。保留双方把未选侧降级为「归档的候选」,而不是从对象图里摘除。协同里这还涉及另一位作者的劳动:销毁 B 等于单方面宣布 B 的劳动不进入历史。
边界
字节级完全相同的两份,保留一份即可,那不是冲突内容。恶意或非法内容(泄密、攻击性写入)可以在保留的同时做访问控制,不必把原文展示给所有打开文档的人;审计侧仍应留痕。容量极端的对象(两份都是数 GB 的视频)可以保留引用和预览,而不是内联两份比特,但引用必须真能打开原件。人已经明确执行「丢弃这一侧并确认」之后,再进回收站或版本历史是保留的弱形式,可以,前提是在确认之前原文仍在、确认本身不可被一次误触完成。自动合并成功且双方改动都进入了结果,保留的是合成后的一份加历史,不必永远并排两份全文。
怎么落地
- 冲突界面同时给出两侧原文,默认谁也不删。选择「用这一版」时,另一版进入可打开的「未采用版本」,而不是立即消失。
- 提供「两边都要」:至少允许把未采用段落拷进结果,而不是只能单选。
- 解决之后的版本历史里,两份原文仍可定位到冲突那一次。
- 验证:制造一次标题冲突。选左侧之后,不刷新,找右侧那句。若已经搜不到、版本历史里也没有冲突当次的另一侧,就是销毁而非解决。再撤销这次解决,两侧应仍能回来,而不是只剩被选中的那一份。