【问题标题】:How do I diff only certain files?如何仅区分某些文件?
【发布时间】:2020-07-16 12:55:04
【问题描述】:

我有一个文件列表(目录中文件的子集),我想生成一个仅包含这些文件差异的补丁。

从 diff 手册看来,我可以排除 (-x),但需要为我不想包含的每个文件指定它,这似乎很麻烦且难以干净地编写脚本。

有没有办法只给 diff 一个文件列表?我已经将包含更改的文件隔离到一个单独的目录中,并且我还有一个包含文件名列表的文件,因此我可以以最有效的方式将其呈现给 diff。

我尝试过的:

cd filestodiff/
for i in `*`; do diff /fileswithchanges/$i /fileswithoutchanges/$i >> mypatch.diff; done

但是补丁不认为这是有效的输入,因为没有包含文件名头。

【问题讨论】:

    标签: diff patch


    【解决方案1】:

    patchutils 提供filterdiff 可以做到这一点:

    diff -ur old/ new/ | filterdiff -I filelist > patchfile
    

    several linux distributions打包

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      • 1970-01-01
      • 2019-07-13
      • 2015-10-02
      • 2011-08-08
      • 1970-01-01
      相关资源
      最近更新 更多