`
liaofeng_xiao
  • 浏览: 127453 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

diff and patch

 
阅读更多
diff的选项挺多,但这里只介绍最常用的三个,其他的,还是看man diff吧:
  • -r: 递归比较文件夹下的文件
  • -N: 如果某个比较的文件为不存在,则视为空文件
  • -u: unified,diff的结果进行格式化输出(可读性更好)


所以,diff的一般用法是: diff -Nur old_version new_version >> mods.diff

patch使用diff文件的输出,所以两者总是配对使用。但patch不仅可以支持diff产生的输出,也可使用svn/git等工具生成的diff。

patch的三个常用选项:
  • -p NUM: 产生的diff文件,包含diff时使用的to-file(上面的old_version)的path,path有层级,比如:/myproject/model/people/profile.py,但这个path不总是正确,因为diff文件的位置是可以移动的,比如,在/目录,按照path去打patch没有问题,但把diff文件保存在/myproject目录下,则找不到/myproject/model/people/profile.py这个路径了。这个-p属性就是用来去掉path中斜杠(/)的数量。默认情况下,path是profile.py。-p1:myproject/model/people/profile.py。-p2:model/people/profile.py。-p3: people/profile.py。-p4: profile.py。所以patch -p0 和patch是不一样的,注意了。
  • -R: 即--reverse,打过patch,如果想要取消,则加上此选项
  • -b: 给打patch的文件进行备份,比如要对profile.py文件打patch,打完之后发现会多一个hello.py.orig文件


patch的一般用法: patch  -pNUM < patchfile,NUM视具体情况而定。


分享到:
评论

相关推荐

    google-diff-match-patch比较文件 demo

    要对文本文件的进行比较的时候,可以考虑使用google-diff-match-patch,它可以进行比较、匹配和生成补丁的操作 google-diff-match-patch这个类库提供了强大的算法用于纯文本内容的差异比较,匹配,打补丁,实现...

    diffxml:diffxml(和 patchxml)是用于比较和修补 XML 文件的工具

    与标准 Unix 工具 diff 和 patch 逐行操作不同,diffxml 和 patchxml 对 XML 文档的分层树结构进行操作,从而产生更有意义的结果。 要构建和运行 diffxml,请参阅 INSTALL 文件。 请注意,这是一个测试版; 它不...

    两个架构一样的XML,比较其记录条数,并标志为增,删改

    对于文件比较,可以自定义方法或使用第三方库如XML Diff(Microsoft的XML Diff and Patch工具),它能比较XML文档并生成差异报告。 7. **性能考虑**:如果XML文件较大,处理时需要注意性能优化,如分块读取,避免一...

    diff-element:使用 google_diff_match_patch 显示两个文本之间差异的元素

    diff-element first =" I am the very model of a modern Major-General, I've information vegetable, animal, and mineral, I know the kings of England, and I quote the fights historical, From Marathon to...

    diff-and-patch.zip_Linux/Unix编程_Unix_Linux_

    在Linux和Unix操作系统中,`diff`和`patch`是两个非常重要的命令行工具,用于比较文件或目录的差异,并应用这些差异来更新文件。这两个工具对于版本控制系统、软件开发和系统维护工作至关重要。 `diff`命令的主要...

    vscode-diff-merge:一个vscode扩展来合并差异

    差异合并-Alpha版! 显示差异,并允许从左侧合并到右侧。 :raised_hand: 此扩展处于开发的非常早期阶段。...单击[Diff & Merge] Compare file with selected file 2.差异和合并-针对剪贴板文件(#

    dwm-patches:dwm 个人构建中使用的补丁

    apply的文件夹中的补丁按以下顺序使用git应用: dwm-6.1-systray.diff dwm-6.1-hide_vacant_tags.diff dwm-6.1-save_floats.diff dwm-6.1-focusmaster.diff dwm-6.1-push.diff dwm-6.0-attachaside.diff 名为patch-...

    Gnu Diffutils for Windows

    This set of differences is often called a `diff' or `patch'. For files that are identical, diff normally produces no output; for binary (non-text) files, diff normally reports only that they are ...

    grub4dos-0.4.4

    矮人工具箱 Get the source code of this build by using anonymous svn in this way: svn co -r 60 svn://svn.gna.org/svn/grub4dos/...patch -p0 &lt; ../grub4dos_r60.diff and now you may do a "make" to compile.

    memcached 1.2.6 1.2.5

    Jellycan Code | memcached Home The Good Egg SimpleIni SimpleOpt MemCacheClient ...Apply the patch using a command line like: patch -E -p 1 -i memcached.diff Stats Powered by Website Baker

    ns-allinone-2.28.mobiwan-ubuntu-6.10.diff.tar.gz_Time After Time

    应用补丁的过程通常涉及解压(tar -zxvf ns-allinone-2.28.mobiwan-ubuntu-6.10.diff),然后使用patch命令将补丁应用到源代码目录。 总的来说,这个文件包是针对网络模拟器ns的一个定制版,增加了mobiwan的功能,...

    PHP差异分析工具TryLib.zip

     Path to patch file to use instead of generating a diff  -i, --patch-stdin Read the patch from STDIN instead of a file  -s, --staged Use staged changes only to generate...

    XML differencing and patching tools-开源

    基于行的差异和补丁工具(如Unix的diff和patch命令)对文本文件非常有效,但它们不考虑XML的层次结构,可能会产生不准确的结果。因此,专门针对XML设计的工具变得尤为重要。 "XML differencing and patching tools-...

    MADEDIT 多标签

    awk, C/C++, CSS, diff/patch, D, DOS Batch Script, Flash ActionScript, HTML, Java, JavaScript, JSP, Lua, Pascal, PHP, Perl, Python, Ruby, UNIX Shell Script, x86 Assembly, XML, Fortran, TeX/LaTeX, ...

    ios openssl 编译批处理

    3. **应用补丁**:在提供的压缩包子文件中,`patch_mf_i386.diff`、`patch_mf_armv7.diff`和`patch_mf_armv6.diff`是针对不同架构的补丁文件。在编译过程中,我们需要应用这些补丁以适配iOS的不同设备架构,如i386...

    google repo工具

    Shows outstanding changes between commit and working tree using git diff. download repo download &lt;TARGET&gt; Downloads the specified change from the review system and makes it available in your ...

    Git-2.21.0-64-bit.zip

    * The pattern "git diff/grep" use to extract funcname and words boundary for Matlab has been extend to cover Octave, which is more or less equivalent. * "git help git" was hard to discover (well,...

    Linux常用命令_开发调试篇1

    8. **diff和patch**:diff用于比较两个文件的差异,patch用于应用这些差异。在版本控制系统中,这两个命令经常用于合并代码更改。 9. **make工具**:用于自动化编译过程,管理依赖关系。编写Makefile文件可以简化...

    apktool documentation

    In addition to XMLs, resources such as 9 patch images, layouts, strings and much more are correctly decoded to source form. Decoding The decode option on Apktool can be invoked either from d or ...

    JavaScriptDOM模型VirtualDOM.zip

     and it should be in the document // 3: Wire up the update logic setInterval(function () {  count ;  var newTree = render(count);  var patches = diff(tree, newTree);  root...

Global site tag (gtag.js) - Google Analytics