此工具可帮助您将包重置到最新版本。
项目描述
欢迎使用rebase-helper
在重置包时,需要执行几个步骤。rebase-helper的目标是自动化大多数这些步骤。
如何运行它?
rebase-helper已打包在Fedora中,因此您可以使用dnf安装它。
如果您想使用最新的代码库,请参阅安装说明。
如何使用它?
安装后,从包含SPEC文件、源代码和补丁的目录(通常是克隆的dist-git仓库)执行rebase-helper
。
$ ls
foo-3.1.9.tar.xz foo.spec sources
在没有任何参数或配置的情况下,rebase-helper
将尝试自动确定最新的上游版本。如果失败,或者您希望将变基到某个不同的版本,您可以明确指定它作为参数
$ rebase-helper 3.1.10
或者您可以传递源tarball文件名
$ rebase-helper foo-3.1.10.tar.xz
有关完整的CLI参考,请参阅用法。
或者,您可以在容器中运行rebase-helper
。
$ docker run -it -e PACKAGE=foo quay.io/rebasehelper/rebase-helper:latest
有关更多信息,请参阅容器参考。
我能从中得到什么?
rebase-helper
始终创建包含以下内容的rebase-helper-results
目录
路径 | 描述 |
---|---|
report.txt | 包含所有重要信息的总结报告 |
changes.patch | 与原始文件的diff,可直接应用于dist-git仓库 |
logs/ | 不同详细程度的日志文件 |
rebased-sources/ | 包含所有修改文件的git仓库 |
checkers/ | 运行的单个检查器的报告 |
old-build/ | 旧(原始)版本构建的日志和结果 |
new-build/ | 新(变基)版本构建的日志和结果 |
它是如何工作的?
以下步骤描述了变基过程
-
准备
rebase-helper-workspace
和rebase-helper-results
目录被创建- 原始SPEC文件被复制到
rebase-helper-results/rebased-sources
目录,并修改其Version标签
-
获取源代码
- 旧的和新的源tarball被下载并提取到
rebase-helper-workspace
目录 - 如果可能,从lookaside缓存下载旧源代码
- 旧的和新的源tarball被下载并提取到
-
下游补丁
- 初始化新的git仓库,将旧源代码提取并提交
- 应用每个下游补丁,并提交其引入的更改
- 提取新源代码并将其添加为远程仓库
- 使用
git-rebase
将提交重新变基到新源代码之上 - 相应地修改/删除原始补丁
- 结果文件存储在
rebase-helper-results/rebased-sources
- 将原始文件的diff保存到
rebase-helper-results/changes.patch
-
构建
- 创建并使用选定的构建工具构建旧的和新的源RPM
- 也可以从Koji下载旧的SRPM和RPM以加快变基
-
比较
- 对两组软件包及其输出都运行多个检查器工具,并将输出存储在
rebase-helper-results/checkers
目录中
- 对两组软件包及其输出都运行多个检查器工具,并将输出存储在
-
清理
- 删除
rebase-helper-workspace
目录
- 删除
视频
由František Nečas在DevConf.CZ 2020上发表的关于rebase-helper
的演讲
另一个演示,这次来自DevConf.CZ 2016,由Petr Hráček和Tomáš Hozza提供
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
rebasehelper-0.29.2.tar.gz (1.9 MB 查看哈希值)
构建分发
rebasehelper-0.29.2-py3-none-any.whl (167.5 kB 查看哈希值)