OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

补丁

这个 补丁 程序用于将更改应用于文本文件。 它接受来自 差异 并且通常用于将旧版本的文件转换为新版本。 让我们考虑一个著名的例子。 Linux 内核是由一个庞大的、组织松散的团队开发的


对源代码不断提交小改动的贡献者。 Linux 内核由几百万行代码组成,而一个贡献者一次所做的更改非常小。 每次进行小的更改时,贡献者向每个开发人员发送整个内核源代码树是没有意义的。 而是提交一个差异文件。 diff 文件包含从先前版本的内核到具有贡献者更改的新版本的更改。 然后接收器使用 补丁 程序将更改应用于他自己的源代码树。 使用 差异/补丁 提供两个显着优势:

1. 与源代码树的完整大小相比,diff 文件非常小。

2. diff 文件简​​洁地显示了所做的更改,允许补丁的审阅者快速评估它。

当然可以, 差异/补丁 将适用于任何文本文件,而不仅仅是源代码。 它同样适用于配置文件或任何其他文本。

准备一个 diff 文件以供使用 补丁,GNU 文档(参见下面的进一步阅读)建议使用 差异 如下:

差异-Naur 旧文件 新文件 > 差异文件

其中 旧文件 新文件 是单个文件或包含文件的目录。 这 r

选项支持目录树的递归。

创建 diff 文件后,我们可以应用它来将旧文件修补到新文件中:

修补 差异文件

我们将用我们的测试文件进行演示:



[我@linuxbox ~]$ diff -Naur file1.txt file2.txt > patchfile.txt

[我@linuxbox ~]$ 补丁 < 补丁文件.txt

修补文件file1.txt [me@linuxbox ~]$ 猫文件1.txt b

cde

[我@linuxbox ~]$ diff -Naur file1.txt file2.txt > patchfile.txt

[我@linuxbox ~]$ 补丁 < 补丁文件.txt

修补文件file1.txt [me@linuxbox ~]$ 猫文件1.txt b

cde


在这个例子中,我们创建了一个名为的差异文件 补丁文件.txt 然后使用 补丁 程序来应用补丁。 请注意,我们不必指定目标文件 补丁,因为差异文件(统一格式)已经在标题中包含文件名。 应用补丁后,我们可以看到 文件1.txt 现在匹配 文件2.txt.

patch 有很多选项,还有其他实用程序可用于分析和编辑补丁。


OnWorks 的顶级操作系统云计算: