小编Pav*_*rda的帖子

如何将补丁应用于 git,包括新文件和提交消息?

我正在寻找一种通用的方法来转换由 生成的补丁文件git showgit format-patch甚至diff以最佳方式提交。

我希望具有以下功能:

  1. 应修改现有文件,并为新提交暂存修改。
  2. 应该为新提交创建和暂存新文件。
  3. 文件删除也应该针对新提交进行。
  4. 如果补丁是使用创建的git format-patch,提交消息应该被解析并用于新的提交。
  5. 如果补丁是使用创建的git show,提交消息应该被解析并用于新的提交。
  6. 如果补丁不是由上述两个工具创建的,则仍应对其进行处理。
  7. CLI 应该能够接受多个补丁,从而创建多个提交。

在考虑创建新工具之前,我最感兴趣的是现有解决方案。

以前的研究:

最接近的工具是git am但失败了 #5 和 #6,所以它对这个目的没有用。另一方面,git apply它不会自行创建提交,并且至少会失败 #2 和 #5。我不知道有比这两个更成功的工具。

从 RPM 规范文件中应用以下格式的补丁时:

Patch0: abc.patch
Patch1: xyz.patch
Run Code Online (Sandbox Code Playgroud)

我目前正在使用以下 sed 命令构建脚本:

sed -re 's/.*: *(.*)/git apply \1 \&\& git add . \&\& git commit -am \1/'
Run Code Online (Sandbox Code Playgroud)

这当然不会执行 #4 和 #5,因为它总是使用补丁文件名作为提交消息,而 #7 已解决。

git version-control diff patch

5
推荐指数
1
解决办法
2283
查看次数

YAML:当等号(=)可用于词典时?

key1=value1 key2=value2一直在使用应该用YAML编写的ansible playbooks 阅读样式词典.另一方面,我没有找到任何这种格式的文档,似乎有些情况下它对我不起作用.什么是确切的规格,我在哪里可以找到它?

yaml ansible

2
推荐指数
1
解决办法
2367
查看次数

标签 统计

ansible ×1

diff ×1

git ×1

patch ×1

version-control ×1

yaml ×1