gpt4 book ai didi

php - 如何使用 diff 递归创建补丁文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:03:41 26 4
gpt4 key购买 nike

我在 Linux 上工作,正在 fork 一个 PHP 项目。我想为我所做的工作创建一个补丁文件,可以应用于最新的 parent 代码。原始文件夹和新代码文件夹都有很多子目录(因此需要递归)。

出于某种原因,当我这样做时:

diff -ur folder1 folder2 > newcode.patch

我没有设法获得包含所有新文件的补丁文件,它甚至不包含一些更深层次的文件更改(大约 3 层以上)。

有什么想法可以解决这个问题吗?我查看了 Meld 和 Kdiff3...但它们似乎也没有按照我的要求进行。

最佳答案

我怀疑您的目录结构类似于:

folder1/
text.txt
level1/
text1.txt
level2/
text2.txt
level3/
text3.txt

folder2
text.txt
level1/
text1.txt
level2/
text2.txt
anewdirectory/
newtext.txt
level3/
text3.txt
newfiled3.txt

在这种情况下,diff 将忽略 anewdirectory/ 中的文件 newtext.txt。它也可能不会获取 newfiled3.txt 的文本。相反,它会报告类似以下内容:

..
Only in folder2/level1/level2/ : anewdirectory
Only in folder2/level1/level2/level3/ : newfiled3.txt
..

这是您看到的症状吗?
尝试:

diff -urBNs folder1/ folder2/ > code.patch

关于php - 如何使用 diff 递归创建补丁文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8691345/

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