有时,无论出于何种原因,我不得不(在Linux下)生成错误方向的补丁文件.我知道,通过patch应用时,我可以使用-Rswitch 来处理这个问题,但如果有一种永久反转补丁文件的方法,那就太好了.是否有一个实用程序可以做到这一点,或例如一个可以保证工作的正则表达式?

UPDATE

莱恩有suggested a neat way of doing this个.但是,它需要访问原始源文件.因此,我想我应该更新我的问题,说明我更希望通过一种方法来实现这一点,只考虑补丁文件本身.

推荐答案

你可以从patchutils开始使用interdiff(1)工具.interdiff的手册页特别指出:

要反转修补程序,请将/dev/null用于

所以

$ interdiff -q file.patch /dev/null > reversed.patch

-q / --quiet防止插入reverted:行.

Linux相关问答推荐

在shell 中使用排除模式的grep

是否有例外情况需要在.gitconfig中使用?

UTF-8输入和使用XGetICValues

Linux 的 __fastfail 替代方案?

为什么waitpid(2)可以指定非子进程?

Linux TTY 操作顺序

Linux:用户态线程在执行系统调用时是否有更高的优先级?

使用 sed 命令仅打印正则表达式匹配

如何在守护进程中使用 popen() 和 pclose() 获取通过管道执行的 shell 命令的正确退出代码?

如何在 AWS Linux 服务器上实现虚拟主机?

CHMOD 755 与 750 权限集之间的差异

argv的编码是什么?

diff 命令仅获取不同行的数量

NGINX:connect() 到 unix:/var/run/php7.0-fpm.sock 失败(2:没有这样的文件或目录)

在亚马逊 ec2 linux 微型实例上的 virtualenv 中安装 scipy 时遇到问题

Docker Volume 没有挂载任何文件

仅使用 proc 获取本地网络接口地址?

如何使用 Linux 命令找到我的 shell 版本?

如何在我的终端中编辑文本文件

如何用逗号而不是空格分割列表