我有一个内核修补程序,用于稍微不同的内核版本,然后是我尝试修补的内核修补程序。不用说,修补程序部分失败。我当然可以手动修复它,但我想知道是否有可用于解决冲突的图形修补程序实用程序。图形修补程序实用程序
回答
我不知道图形修补程序实用程序,但我可能会做的是获取旧内核版本中的文件,应用修补程序以获取修补的旧文件(保留旧文件(s)),获取新内核版本中的文件,然后使用3-way合并工具,如GNU Meld。
这个过程有点费时,但我发现它非常有助于解决Subversion冲突(非常类似于您要完成的)。并且,它允许您快速确定如何在两个内核版本中改变文件的内容,发生了什么变化以及您可能需要对修补程序行进行各种更改,以使它们与修补程序兼容新文件。
有许多图形修补公用事业,尝试meld
,diffuse
,kdiff3
或dirdiff
,他们应该被包装为您的分布。
另一个有用的工具是wiggle
,它“尽力地尝试”来解决冲突,并将一个rej文件从补丁变成一个与>>>标记的CVS风格内联冲突。
我倾向于与底层修正系统使用它,所以我很高兴,如果他们是错误的恢复及其变化,例如我用:
wiggle -v --replace <file> <file.rej>
它说做转型有时候它会做正确的事情,其他时候你最终会得到>>>标记并且可以手工编辑,但是比手动使用rej文件更容易。如果确实做得不好,我使用我的修订控制系统(git)恢复原始版本。
是的,我在尝试将Firefox Light v27补丁应用到Firefox v28 beta 4时遇到了类似的情况。Mozilla团队重命名了一些内容,因此它不是直接插入。我希望这样做,所以我可以为Linux编译它。我结束了在一个文本编辑器中打开补丁,并在另一个文本编码。
这是鼠标垫,但它可以是任何简单的文本编辑器,gEdit,Leafpad,Geany ...然后手动并排地从一个窗口到另一个窗口执行所有的mod,但是这样很慢。 “查找”有助于跳转到正确的编辑位置。
我还应该提到,如果您将所使用的修补程序粘贴到空白窗口中,您可以查找并替换+符号,然后将其替换为空白,以便将其删除为可用的代码...对于大块添加的代码来说更容易,而不是在向上箭头和删除键上扭动手指。
- 1. Sitecore修补程序
- 2. 修补程序datetime.timedelta.total_seconds
- 3. 适用于Windows的Linux修补程序命令实用程序
- 4. 将更多修补程序压缩到一个修补程序
- 5. IE8的后台修补程序修补程序
- 6. 修补程序/修补程序的构建和交付方法
- 7. NetLogo:修补程序显示修补程序中的龟数量
- 8. 使用方法修补程序覆盖类修补程序(修饰符)
- 9. 架构修补程序实践
- 10. 带增量的修补程序实体
- 11. 程序创建9修补程序?
- 12. 修补程序错误:“检测到未反向的修补程序!跳过修补程序。”
- 13. 更改修补程序中的文件名或编辑修补程序,使修补程序保持有效
- 14. 选择性修补程序
- 15. 如何修补Java程序?
- 16. httpunit的修补程序
- 17. Visual Studio 2008修补程序
- 18. Cuteeditor在修补程序
- 19. Laravel修补程序AJAX
- 20. AWS Linux API修补程序
- 21. Netlogo多修补程序层
- 22. weblogic中的修补程序
- 23. Plone的修补程序20121106
- 24. ILMerge后修补程序
- 25. Azure WebApp修补程序
- 26. Python猴子修补程序
- 27. 的ColdFusion 9.0.1修补程序
- 28. 跨平台修补程序
- 29. JavaScript修补程序错误
- 30. Python:Matplotlib修补程序和轮廓图
我知道关于融合。你提出的一个明显的问题是,除了补丁以外,旧版和新版内核版本之间的差别太大了。 看来,我正在寻找的工具不存在,所以我将不得不手动。不管怎么说,还是要谢谢你。 – Demiurg 2010-06-18 15:12:23