gpt4 book ai didi

diff - 如何为整个目录创建补丁来更新它?

转载 作者:行者123 更新时间:2023-12-03 05:28:53 25 4
gpt4 key购买 nike

我知道已经有几个线程讨论这个问题,但没有人完全解释如何执行初始差异来创建补丁文件,然后如何应用该补丁到初始目录更新一下。

就我而言,有一个任何人都可以从网络下载的文件目录。我已获取该目录并对其进行了更改,并希望创建一个补丁文件,以便其他人可以将其应用到下载的目录中,以准确地重现我修改后的目录中的内容。

帮忙?关于如何应用我的补丁,我需要告诉其他人什么?

最佳答案

我刚刚遇到了同样的问题 - 关于如何做到一半的很多建议。好吧,这就是我为使修补和取消修补工作而所做的事情:

创建补丁文件:

  1. 将两个目录的副本放入/tmp 中,这样我们就可以创建补丁文件,或者如果勇敢的话,将它们并排放在一个目录中。

  2. 对新旧两个目录运行适当的差异:

    diff -ruN orig/ new/ > file.patch
    # -r == recursive, so do subdirectories
    # -u == unified style, if your system lacks it or if recipient
    # may not have it, use "-c"
    # -N == treat absent files as empty

如果一个人拥有 orig/目录,他们可以通过运行 patch 重新创建新目录。

要从旧文件夹和补丁文件重新创建新文件夹:

  1. 将补丁文件移动到orig/文件夹所在目录

  2. 此文件夹将被破坏,因此请在某处保留其备份,或者使用副本。

    patch -s -p0 < file.patch
    # -s == silent except errors
    # -p0 == needed to find the proper folder
  3. 此时,orig/文件夹中包含了new/内容,但仍然有它的旧名称,所以:

    mv orig/ new/    # if the folder names are different

关于diff - 如何为整个目录创建补丁来更新它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9980186/

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