gpt4 book ai didi

diff - 仅对目录/子目录中的选定文件使用差异

转载 作者:行者123 更新时间:2023-12-04 04:48:19 29 4
gpt4 key购买 nike

我正在尝试为我的项目创建补丁。本质上,我有一个包含许多文件和子目录的目录,我的补丁应该只适用于各种子目录中的文件子集。
我不能在整个原始目录和修改后的目录上使用 diff,因为还有其他文件会受到 diff 的影响。是否有使用 diff 命令为文件子集创建补丁的自动化方法?

显而易见的方法是简单地比较所有单个文件,然后使用复制/粘贴将它们聚合到一个文件中,但是否有自动执行此操作的方法?如果不是,这样做的首选方法是什么?

最佳答案

通常,在这种情况下,补丁文件中感兴趣的文件的大多数路径都是相同的,除了最顶层的组件。例如:

diff -u original/some/path/foo.c mine/some/path/foo.c

您应该创建要为其创建补丁的文件的完整列表,但会丢失最顶部的路径组件。使用该列表,您可以简单地将其提供给将每个文件名提供给 diff 的循环。命令,其中添加了文件的顶部部分。
$ cat changed_files
some/path/foo.c
some/other/path/bar.c
$ while read f ; do diff -u original/$f mine/$f ; done < changed_files > patch_file

关于diff - 仅对目录/子目录中的选定文件使用差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17843416/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com