gpt4 book ai didi

linux - 使用 shell 脚本反转旧补丁后应用新补丁

转载 作者:太空宇宙 更新时间:2023-11-04 03:55:15 25 4
gpt4 key购买 nike

我想修补我的 Linux 源代码中的一些文件。对于每个文件,我将创建一个补丁(强制:每次编辑一个补丁)。这是我的 repo 结构。 enter image description here

  1. 补丁 - 存储所有补丁。
  2. kernel_source_code - 源代码目录。
  3. 脚本 - 应用脚本位置的补丁。

在应用新补丁之前,我想撤消之前应用的所有补丁。

然后开始从第一个添加的文件到最后一个添加的文件进行修补。

例如;我将 002.patch 添加到目录 patch/,如果已应用 000.patch001.patch ,则使用 patch -p0 -R < "patch-name"进行反向修补(修补程序应用应从 001.patch 开始,然后是 000.patch )。 但是在目录 patch/中将出现三个脚本,我必须选择前两个 000 和 001。

但是我发现很难只选择最新补丁之前的补丁

这是我的脚本的一部分

echo "Going to reverse all previously applied patches "
#Reversing patches using a for loop "NEED HELP FOR SELECTING THE JUST PREVIOUS PATCHES"
for patch in `ls -lr $PATCHDIR`; do
echo "reversing patch " $patch
patch -p1 -R < $PATCHDIR/$patch
then
echo "Reversing patch $PATCHDIR/$patch failed"
exit 1
fi
done

#Applying patches using a for loop
for patch in `ls $PATCHDIR`; do
echo "Found patch file " $patch
echo "applying patch......"
patch -p1 < $PATCHDIR/$patch
if [ $? != 0 ]
then
echo "Applying patch $PATCHDIR/$patch failed"
exit 1
fi
done

最佳答案

我不确定我是否完全理解这里的目标,但这听起来像是 Quilt 之类的事情。专为。

关于linux - 使用 shell 脚本反转旧补丁后应用新补丁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24974207/

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