`
izuoyan
  • 浏览: 9229723 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用Diff和Patch工具维护源码

阅读更多

假设program-1.0目录中为老版,现开发完成的新版位于program-2.0目录中,将两个目录置于同一父目录下,然后在该父目录上执行:


diff -Nur program-1.0 program-2.0 >program-2.0.patch

将生成一个program-2.0.patch的补丁文件,发布该补丁文件(当然可以先压缩成bzip2格式)。

假设拿到的是program-2.0.patch.bz2文件,则在program-1.0目录同级(不要进入该目录)执行:


bzcat program-2.0.patch.bz2 | patch -p0

或者进入program-1.0目录后执行:(-p0(或者-p 0)表示使用全部的路径信息,-p1将忽略第一个"/"以前的目录,依此类推。)


bzcat program-2.0.patch.bz2 | patch -p1

如此即完成了从1.0到2.0的升级。

如果希望恢复到原版本,可以使用-R(--reverse)参数,但仅对上下文格式的diff文件有效。还有一个备份参数也可以使用,但简单应用中,整个目录备份可能更方便一些。

参考链接:

用Diff和Patch工具维护源码

广东省Linux中心论坛- 用Diff和Patch工具维护源码

分享到:
评论

相关推荐

    diff和patch说明

    在IT行业中,`diff`和`patch`是两个非常重要的工具,主要用于版本...通过阅读《diff - Wikipedia》和《patch (Unix) - Wikipedia》以及提供的`diff&patch说明.txt`,你可以更深入地了解这两个工具的细节和使用技巧。

    diff-match-patch 各平台源码

    《diff-match-patch跨平台源码...总之,diff-match-patch是一个强大且灵活的文本处理工具,其跨平台的特性使得它在各种开发环境和应用场景中都能发挥重要作用。掌握并运用好这个库,能有效地提高文本处理的效率和质量。

    bc、diff、patch、iperf、sshpass工具源码包

    这里提到的“bc、diff、patch、iperf、sshpass”是一组常用且功能各异的开源工具,它们在不同的场景下有着重要的作用。让我们逐一深入探讨这些工具的详细知识。 **bc**: BC 是一个交互式的、高度可移植的编程语言,...

    安卓Android源码——(patch工具)].zip

    这个压缩包"安卓Android源码——(patch工具)].zip"显然包含了与Android源码和patch工具相关的资料,特别是9patch工具,它是Android开发中不可或缺的一个部分。下面将详细阐述Android源码、patch工具以及9patch图像...

    diff_match_patch

    Android RN 增量更新diff_match_patch源码。复制到你的工程里就可以用了

    linux下patch安装包

    这个工具对于软件维护和更新尤其关键,因为它允许开发者或系统管理员在不重新编译整个项目的情况下引入修复或改进。在本案例中,我们有两个针对不同内核版本的补丁包:`patch-2.6.tar.gz`和`patches3.0.tgz`,以及一...

    svn patch 小工具 (自动提取改动文件)

    标题 "svn patch 小工具 (自动提取改动文件)" 暗示了这是一个关于版本控制系统Subversion(简称svn)和patch文件处理的工具。Subversion是广泛使用的版本控制软件,用于跟踪和管理代码库中的更改。patch文件则通常...

    armboot-org2mini2440.diff patch补丁包

    补丁方法:将原始的armboot程序包armboot-1.1.0.tgz 解开后,将armboot-org2mini2440.diff文件放到和armboot-1.1.0的同级目录上,不要拷贝到 armboot-1.1.0 目录里面, 进到 armboot-1.1.0 执行如下的patch命令即可...

    patch-1.0.7-源码.rar

    要访问和使用这个源码包,开发者首先需要使用合适的解压缩工具(如WinRAR或7-Zip)解压缩RAR文件,然后可能还需要使用`gunzip`命令来解压缩内部的GZIP文件。一旦源代码被提取出来,他们就可以按照补丁文件的指示应用...

    openwrt 制作patch

    OpenWrt是一个针对嵌入式设备的开源固件项目,它允许用户和开发者对固件进行深度定制。在进行固件定制时,开发者可能需要修改源代码并生成...此外,合理的配置和维护patch文件,对于固件的维护和更新是非常有益的。

    Linux初学者Patch使用指南

    diff早在patch之前就有了-e选项,这使得人们习惯于使用diff进行自动化处理,而没有考虑过创建一个专门的工具来处理输出。 - **Patch的重要性:** Wall认为尽管随着互联网速度的提升,patch的整体重要性有所下降,但...

    文件差分比较补丁生成工具易语言源码

    在"文件差分比较补丁生成工具易语言源码"中,我们可以理解为这是使用易语言编写的一个程序,该程序能够生成两个文件之间的差分补丁。 差分技术基于文件内容的对比,找出两个文件之间的不同之处。常见的差分算法有...

    编译ffmpeg相关的补丁文件

    FFmpeg是一个开源项目,用于处理音频和视频,包括编解码、转码、流媒体以及各种格式的转换。...在编译自定义的FFmpeg版本时,务必注意版本兼容性和维护问题,因为这可能会影响到软件的稳定性和未来升级。

    java-diff源代码

    Java-Diff库是一个用于比较文本或对象序列的开源工具,主要用Java编写。这个库的主要功能是计算两个文本文件或对象列表之间的差异,并提供一种方式来可视化这些差异。它的核心算法基于“Longest Common Subsequence...

    Linux下patch打补丁命令实例详解.txt

    ### Linux下patch打补丁命令实例详解 ...理解并熟练掌握`patch`命令的使用,对于在Linux环境下进行软件开发、维护和升级至关重要。希望本文的讲解能够帮助你更好地利用`patch`工具,提高工作效率。

    quilt patch管理

    - 使用`quilt push`和`quilt pop`命令可以方便地应用和撤销某个补丁。 2. **补丁的编辑与更新**: - `quilt edit`命令允许用户编辑指定的补丁。 - 当上游项目有更新时,可以使用`quilt refresh`命令来更新整个...

    opencv_wince_patch

    首先,将OpenCV-2.3.0的源码解压到一个目录,然后在该目录下,使用`patch -p1 < patch1`和`patch -p1 < patch2`命令分别应用两个补丁。这会将补丁文件中的修改应用到相应的源码文件中。 完成补丁应用后,接下来是...

    vue3源码解析 vue3源码解析 vue3源码解析 vue3源码解析

    在状态变化时,Vue3会使用diff算法来比较新旧虚拟DOM树的差异,然后只对最小化的DOM节点进行更新,从而提高性能。Vue3引入了“patch flags”来进一步优化diff过程,减少了不必要的比较,提高了效率。 2. mustache...

    mergely_文件显示_Documentcomparison_源码

    此外,还有一些现成的库,如Diff-Patch-Match(Google的difflib.js),提供了比较和合并文本的工具。 3. **源码**: "源码"通常指的是项目的编程代码,这里可能包含了用于实现文件显示和比较功能的JavaScript代码...

Global site tag (gtag.js) - Google Analytics