差异文件(diff)和补丁文件(patch)简介

作者 : 开心源码 本文共773个字,预计阅读时间需要2分钟 发布时间: 2022-05-12 共182人阅读

假如你曾有机会在一个使用分布式开发模型的大型代码库上工作过,你就应该听说过相似下面的话,“Sue 刚发过来一个补丁patch”,“Rajiv 正在签出checking out差异diff”, 可能这些词(补丁、差异文件)对你而言很陌生,而你确定很想搞懂他们究竟指什么。开源软件对上述提到的名词有很大的贡献,作为大型项目从 Apache web 服务器到 Linux 内核的开发模型,“基于补丁文件的开发” 这一模式贯穿了上述项目的始终。实际上,你可能不知道 Apache 的名字就来自“一系列的代码补丁”(LCTT 译注:Apache 英文发音和补丁的英文 patch 类似),它们被逐个收集起来并针对原来的 NCSA HTTPd server source code进行了修订。

你可能认为这只不过是些逸闻,但是一份早期的 Apache 网站的存档中宣称 Apache 的名字就是来自于最早的“补丁”集合;即“打了补丁的APAtCHy”服务器,简化为 Apache。

好了,言归正传,程序员嘴里说的“差异”和“补丁”究竟是什么?

首先,在这篇文章里,我们可以认为这两个术语都指向同一个概念。“diff” 是 ”difference“ 的简写;Unix 下的同名工具程序 diff剖析了一个或者多个文件之间的“差异”。下面我们会看到 diff 的例子:

一个“补丁”指的是文件之间一系列差异,这些差异能被 Unix 的 diff 程序应用在源代码树上。我们能使用 diff 工具来创立“差异”(或者“补丁”),而后使用该工具将它们 “打” 在一个没有这个补丁的同样的源代码版本上。此外,(我又要开始跑题说些历史轶事了……),“补丁” 这个词真的指在计算机的早期使用打卡机的时候,用来覆盖在打孔纸带上来对软件进行修改的覆盖纸,那个时代打孔纸带就是在计算机解决器上运行的程序。下面来自 维基页面的这张图真切的描绘了最初的“打补丁”这个词的出处:

差异文件(diff)和补丁文件(patch)简介

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 差异文件(diff)和补丁文件(patch)简介

发表回复