zeissoctopus 发表于 2011-11-07 07:56

簡述 mergemaster 使用方法

mergemaster 原理很简单, 它只比较 文件那一行 $ FreeBSD$如下

# $FreeBSD: stable/9/etc/apmd.conf 124003 2003-12-30 17:40:28Z njl $

若果当中的号码不同, 便知道有版本分別, 使用者只要看日子便知道新旧之分別, 两者有分別时, 便可以选择

d 删除新版本, 保留旧版本
i 更新新版本, 覆盖留版本
m 用 diff 比较新版旧版文, 引导使用者合并相异之处
v 再用 diff 看看两者分別之处

使用者可以不选以上四个选项, 直接按 Enter 即表示什么也不做


有些文件, 一定是选 i 例如 /etc/default/* , /etc/rc.d/*

有些文件, 你知道一定不能由 mergemaster 更改, 要选 d 例如 /etc/master.passwd, /etc/group

有些文件, 你可能更动一, 两个项选, 你要选 m 来合并之, 例如 /etc/login.conf


用 m 来合并的时候, 我喜欢运用 ed 编辑器来处理, 流程如下:
1. 当 mergemaster 发现有不同之处时
2. 选 m 来合并
3. 选 m 之后, mergemaster便会跳到第一个相异位, 等候你指示
4. 此时你可以使用任何文字编辑器处理, 我推介用 ed
5. 输入 ed 命令
6. 进入了 ed 画面, 萤幕先列印旧版本, 然后新版本 的内容
7. 在 ed 画面按你的意愿删除某个版本内容, 即按 dd (注 ed 即是 vi 的简化版)
8. 修改完成, 输入 :wq 命令 ( 又是另一个 vi 命令 )
9. 回到 mergemaster 画面后, 有三个选择:i 是安装你刚修改合并版,r 是重做一次合并程序, v 是预览你刚修改的合并版内容
10. 如果选 v 后满意合并版内容, 便可以选 i 安装合并版, 覆盖旧版本了

congli 发表于 2011-11-07 08:20

谢谢分享!

ulovko 发表于 2012-07-05 10:58

不错 感谢分享! :emn31:
页: [1]
查看完整版本: 簡述 mergemaster 使用方法