这是 git-dpm 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
git-dpm - git 管理器中的 Debian 软件包
概要
git-dpm - 帮帮我
git-dpm [ 选项 ] 命令 [ 每个命令选项 和 -参数 ]
商品描述
Git-dpm 是一个用于处理 git 存储库中的 Debian 源包的工具。
每个项目包含三个分支,一个 Debian 分支(主/任何),一个修补过的分支
(修补/修补-任何) 和一个上游分支 (上游/上游的-任何) 以及 git-dpm
帮助您将信息存储在那里,以便您可以将更改导出为被子
系列。
Git-dpm 会根据它看到的分支猜测另外两个分支。 (大多数命令执行
基于当前的 HEAD,即您当前签出的分支,尽管有些是
例如 状态 允许使用可选参数)。 例如,如果您在分支机构
主, git-dpm 假设相应的上游分支被调用 上游。 如果你是
在分支 上游的东西,它假设 Debian 分支被称为 东西.
请注意,大多数命令可能会自动切换到另一个分支,部分原因是
更容易实现这种方式,希望这样一个人不需要切换分支
经常手动。
淡 说明 OF “ 分支机构
上游分支(上游|上游的-任何)
该分支包含上游源。 它的内容需要足够大
上游 tarball 中的内容。
修补的分支(修补|修补-任何)
此分支包含您对上游源的补丁。 每次提交都会
作为单个补丁存储在生成的包中。
大多数时候它不会作为已知的分支存在 混帐,但只是作为某一点
在 Debian 分支的历史中,并可能作为已发布版本的标签。
git-dpm 将在需要时创建它并在不再需要时删除分支。
为了帮助 git 生成线性补丁系列,这应该是理想的线性链
提交,其描述对其他人有帮助。
由于此分支会定期重新定位,因此您不应发布它。
Debian 分支(主|任何)
这是主要分支。
这个分支包含 Debian/ 目录并将修补后的分支合并到其中。
每一个变化都不在 Debian/, .git* 或删除文件必须在补丁中完成
科。
示例
让我们从一些例子开始:
检出项目
首先获取master分支:
混帐 克隆 网址
然后创建上游分支并查看 .orig.tar 是否准备就绪:
git-dpm 准备
创建补丁分支并检查它:
git-dpm 结帐修补
做一些改变,应用一些补丁,提交它们......
...
混帐 承诺
如果您的修改修复了先前的更改(并且不是最后一次提交,
否则你可以使用--amend),你可能想压缩这两个提交
合二为一,所以使用:
混帐 变基 -i 上游
然后你想把这些更改放到 Debian 分支和新的补丁文件中
创建(您可以使用 git-dpm 更新补丁),但你很可能想要
还要记录您在变更日志中所做的事情,因此只需一步:
git-dpm 对的 -- -i
也许更改 Debian 包装中的某些内容:
...
混帐 承诺 -a
然后把整个事情推回去:
混帐 推
切换到新的上游版本
获取一个新的 .orig.tar 文件。 要么将您的上游分支升级到
该文件并调用 git-dpm 记录新上游 .. /新的东西.原版.gz 或告诉
git-dpm 导入并记录:
git-dpm 进口新上游 --变基 .. /新的东西.原版.gz
这会将修补后的分支重新设置为新的上游分支,也许您会
需要解决一些冲突:
VIM ...
混帐 加 解决 档
混帐 变基 - 继续
运行 rebase 后(即使在第一次尝试中也有一些运气):
git-dpm 对的 -- -v 新上游-1 “新的 上游 版本”
您还可以通过以下方式完成三步中的最后一步:
git-dpm 更新补丁
对的 -- -v 新上游-1 “新的 上游 版本”
混帐 承诺 - 修正 -a
做其他 debian/ 更改:
...
混帐 承诺 -a
然后把整个事情推回去:
混帐 推
创建一个新项目
创建 上游 (或 上游的-任何) 包含您的内容的分支
orig.tar 文件:
焦油 -xvf 示例_0.原版.gz
cd 例子-0
混帐 初始化
混帐 加 .
混帐 承诺 -m “进口 示例_0.orig.tar.gz”
混帐 结帐 -b 上游不稳定
您可能想使用原始 tar 来存储您的 tar:
原始焦油 承诺 .. /示例_0.原版.gz 上游不稳定
然后让 git-dpm 知道你的上游分支属于哪个 tarball:
git-dpm 初始化 .. /示例_0.原版.gz
请注意,由于您在 上游不稳定 在这个例子中,在最后一个例子中
git-dpm 假设您希望您的 Debian 分支被称为 不稳定 并不是 主,所以
命令返回后,您将进入新创建的 不稳定 科。
做剩下的包装:
VIM Debian /控制 Debian/规则
对的 - 创建 - 包裹 例子 -v 0-1
混帐 加 Debian /控制 Debian/规则 Debian/变更日志
混帐 承诺 -m “最初的 包装”
然后添加一些补丁:
git-dpm 结帐修补
VIM ...
混帐 承诺 -a
git-dpm 对的 "固定 ... (关闭: 数)"
这款 git-dpm 结帐修补 创建了一个临时分支 修补不稳定 (如你
在一个叫做 不稳定. 如果你用 HEAD 作为分支来调用它
主,本来是 修补) 您添加了提交。 那么 git-dpm
更新补丁 由暗示 git-dpm 对的 将这些更改合并到 不稳定, 删除
临时分支并创建新的 Debian/补丁/ 文件。
然后构建你的包:
git-dpm 状态 &&
dpkg-构建包 -rfakeroot -我们 -uc -I".git*"
现在看看发生了什么,也许你想添加一些文件到 的.gitignore (在
此 不稳定 分支),或从 不稳定 分支因为你
干净的规则删除它们。
继续最后几步,直到打包完成。 然后推送您的包裹:
git-dpm 行李牌
混帐 推 --标签 目标 不稳定:不稳定 原始焦油:原始焦油
删除现有补丁
首先获取master分支:
混帐 克隆 网址
创建补丁分支并检查它:
git-dpm 结帐修补
获取自上次上游版本以来的提交列表: 混帐 变基 -i
上游不稳定
这将打开带有提交列表的默认编辑器。 编辑要删除的列表
不希望的提交。
...
混帐 承诺
然后你想把这些更改放到 Debian 分支和旧的补丁文件中
删除(您可以使用 git-dpm 更新补丁),但你很可能想要
还要记录您在变更日志中所做的事情,因此只需一步:
git-dpm 对的 -- -i
也许更改 Debian 包装中的某些内容:
...
混帐 承诺 -a
然后把整个事情推回去:
混帐 推
全球 配置
-调试
给出 git-dpm 正在做什么的详细输出。 主要只用于调试或
在准备错误报告时。
--调试 git 调用
将 git 调用输出到 stderr。 (对于更复杂的调试案例)。
--允许在 debian 分支中进行更改
忽略 Debian 分支中的上游更改。 这将要么丢弃它们,如果
merge-patched 由 come 命令调用,或者它们在其他地方被忽略。
指令
初始化 [选项] tar文件 [上游提交 [预应用提交 [修补提交]]]
创建一个新项目。
第一个参数是上游 tarball。
您还需要拥有该文件的内容以及提供的文件
--component 在您的 git 存储库(或类似的
够了 dpkg-源 不会知道区别)。 这将存储在
上游分支(称为 上游 or 上游的-任何)。 如果第二个参数是
不存在或为空,该分支必须已经存在,否则该分支将
用第二个参数初始化。 (这是你的责任
内容匹配。 git-dpm 不知道您的清理规则是做什么的,因此无法检查
(甚至还没有尝试警告))。
您已经可以拥有一个 Debian 分支(称为 主 or 任何)。 如果没有
存在,以后就会存在。 否则它可以包含一个 debian/补丁/系列
git-dpm 将导入的文件。
第三个参数可以是上游分支的后代,其中包含
在应用任何补丁之前更改 Debian 分支(大多数人更喜欢
没有和 lintian 警告,但如果你有一些,提交/樱桃在一个新的
上游分支顶部的分支/分离头并在此处命名)。 没有
--patches-applied,您的 Debian 分支可能没有任何上游更改
这个提交(或者如果没有给出,上游分支)。
如果没有第四个参数,git-dpm 将在您的 Debian 中应用可能的补丁
在第三个参数或上游的顶部分支。 你也可以自己做
把它作为第四个论点。
此提交/分支的内容在第四次提交中给出或由
在第三个/您的上游分支之上应用补丁然后合并到您的
Debian 分支并被记住为补丁分支。
选项:
- 成分 文件名
记录一个 .orig-元件。柏油 要在上游分支中解压的文件。
--补丁应用
表示 Debian 分支已经应用了补丁。
如果没有这个 git-dpm 将检查 Debian 分支中没有变化
应用补丁之前的外部补丁管理; 有了这个,它会
而是在应用补丁后检查是否有差异。
--不创建补丁
不要创建/覆盖 Debian/补丁 目录。 你将不得不打电话
更新补丁 你自己。 如果您要导入历史数据和
将原始补丁保留在 Debian 分支中。
--记录补丁类别
添加 补丁类别: 子目录中每个导入补丁的字段
of Debian/补丁。 这导致 更新补丁 将它存储在同一个
子目录。
--记录补丁名称
添加 补丁名称: 每个导入补丁的字段及其名称。 这引起
更新补丁 将其存储在其原始名称下。
准备
确保上游分支和上游 orig.tar 球在那里并且是最新的。
(最好在克隆或拉取后调用)。
状态 [科]
检查当前项目(或属于该项目的项目)的状态
论点 科 如果给出)。 如果需要,则返回非零退出代码
做被检测到。
结帐修补
签出打过补丁的分支(修补|修补-任何) 在确定它存在之后
并且是记录在 debian/.git-dpm 文件中。
如果修补分支引用旧状态(即已经是
当前的 Debian 分支),它被更改为记录的当前分支。
否则,您可以使用 - 力量 选项。
更新补丁 [选项[分店名称]
打电话后 合并补丁到 debian 如有必要,更新内容
Debian/补丁 到目前的状态 修补 科。
还要在 debian/.git-dpm 中记录补丁的修补分支的状态
目录所属。
如果一个 分店名称 给出,该分支被处理。 否则名称是派生的
像往常一样从当前签出的分支中。
选项:
- 重做 做点什么,即使看起来无事可做。
--允许恢复, --忽略删除, --dot-git-files=*
传递给合并补丁到 debian
- 修正
不要创建新的提交,而是修改 Debian 分支中的最后一个。
(即使用 --amend 调用 merge-patched-into-debian 并修改更新
修补到最后一次提交,即使它不是由
合并补丁到 debian)。
-m 消息
使用 VHDL 语言编写 消息 作为提交消息。 (如果与--amend一起使用,请勿重复使用
旧的提交消息,作者或作者日期,但用一个替换旧的提交
带有该消息的新提交)。
--保持分支
不要删除现有的修补分支(通常已删除并且可以
重新创建 结帐修补 以避免潜伏着陈旧的副本。
--允许非线性
传递给合并修补程序。
对的 [选项] -- dch-选项
必要时调用 update-patches 后,使用指定的参数运行 devscripts 的 dch
选项,然后做一个 混帐 承诺 带有包含更改的提交消息
Debian/变更日志 文件中。
选项:
- 修正
替换当前 Debian 分支负责人的提交
(主|东西) 而不是在上面创建一个新的。 提交消息
还将包括对 Debian/变更日志 在之前的提交中
(除非被新编辑恢复)。
--忽略补丁
不要调用更新补丁而只是忽略当前状态
修补分支(修补|修补-东西).
--保持分支, --允许恢复, --允许非线性, --忽略删除,
--dot-git-files=*
如果调用,则传递给更新补丁。
--仅最新|- 最新的|-l
在调用之前只包括当前工作目录之间的更改
dch 并在调用它之后(而不是自上次提交或上次提交以来
未更换)。
-e | -v | -a | - 全部 | -s | -n | --不验证 | -u | --未跟踪的文件 | -q |
- 安静的 | --清理=... | --作者=...
传递给 git commit。
合并补丁到 debian [选项[分店名称]
平时 更新补丁 如果认为有必要,为您运行此程序。
这个命令的核心是 git-dpm,但您通常不会直接调用它。 它
被称为 更新补丁 和事物呼唤 更新补丁 喜欢 对的 ,尤其是
必要。
它替换当前文件中的所有文件(只有下面描述的例外)
Debian 分支 (主|任何) 与在修补分支中找到的那些
(修补|修补-任何).
只有 Debian的 根目录中以“.git”开头的目录和文件是
远离 Debian 分支(所以 的.gitignore, .git 属性, ... 会留下)。 和
在最后记录的修补分支中找到并在
当前 Debian 分支也将在新分支中删除。
此外,该 debian/.git-dpm 文件将被更新,以便当前修补的分支
被记录并标记为属于最后记录的上游分支。
如果没有 分店名称 在命令行上给出分支的基本名称
像往常一样从当前检出的分支计算要操作。 除此以外
使用此参数。
选项:
--允许恢复
通常不允许恢复到修补分支的旧状态,以
避免错误(比如只拉了 Debian 分支而忘记运行
结帐修补)。 此选项会更改该选项,例如,您可以删除
堆栈中的最后一个补丁。
--无忽略删除 (默认)
当前在 Debian 分支中删除的文件相对于记录的
已修补的分支仍将在新的 Debian 分支中被删除并且不会被采用
从新的修补分支。 这是默认值,除非有不同的默认值
设置为
混帐 配置 分时。分店名称.dpmIgnoreDeletions true.
--忽略删除
禁用中描述的行为 --无忽略删除.
--dot-git-files=方法
指定文件如何以 .git 学校以外 Debian/ 被处理。 那些是
特别处理为 .git 属性 和 的.gitignore 可能会有所不同
Debian 分支而不是任何补丁的一部分。 (整体 Debian/ 目录
总是取自 Debian 分支,因此那里的文件不受影响)。
可能的方法有:
自动 (默认)
不限 .git* 当前添加、修改或删除的文件
Debian 分支与旧的上游分支相比设置为这个
状态,其他所有内容都被视为在新的修补分支中找到的。
Debian的 All / 全部 .git* 文件取自 Debian 分支。 有名字的文件
就像来自修补分支的那样被忽略。
上游
开头的文件 .git 不给予特殊处理。 他们是
取自打补丁的分支,除非它们在 Debian 中被删除
分支和默认 --无忽略删除 活跃。 (即只是
像外面的任何其他文件一样 Debian/).
--保持分支
不要删除现有的修补分支(通常已删除并且可以
重新创建 结帐修补 以避免陈旧的副本潜伏在周围)。
- 修正
替换 Debian 分支上的最后一次提交(如 git commit --amend 会
做)。 除了作为祖先或平等的每个父母
到新的补丁分支或记录的补丁分支被省略。 (那
也就是说,您不仅会丢失 Debian 分支上的提交,还会丢失之前的
如果您的最后一次提交也合并了已修补的分支,则修补分支的状态
分支)。
-m 消息
用于创建新提交的提交消息。 (如果与
--amend,这将禁止重用旧的作者和日期)。
--允许非线性
如果修补的分支不是线性系列,则不会因错误而中止
在上游分支之上提交。 不推荐使用此选项
因为它很容易隐藏修补或上游分支的问题,并且可能
引入损坏的 debian/patches/ 系列,因为 format-patch 没有
连载。
进口新上游 [选项] .origtar
导入给定 tarfile 的内容(与 进口焦油) 并记录下来
分支(如 记录新上游).
这大致相当于:
git-dpm 进口焦油 -p 上游 文件名
混帐 结帐 -b 上游
git-dpm 记录新上游 文件名
--分离
不要让新的上游分支成为旧上游分支的祖先
(除非你重新添加 -p).
-p 提交编号|--父母 提交编号
给 进口焦油 要创建的新提交的其他父项。
例如,如果您在某个分支中跟踪上游的 git 存储库,则可以
在此处命名以使其成为 Debian 分支历史的一部分。
--允许无父级
如果通过 git config 将 dpm.importWithoutParent 设置为 false,则 git-dpm 不会
允许在没有此选项的情况下运行 import-new-upstream 或至少在 -p 上运行
选项。
--rebase 修补
记录新的上游分支后,将打补丁的分支重新设置为
新的上游分支。
--无变基修补
不要在记录新的上游分支后调用 rebase-patched。 (这个
目前是默认设置,但将来可能会改变)。
-m 消息
用于记录到 Debian 分支的新提交的提交消息
新文件和上游分支。
- 成分 包版本.orig-元件。柏油。广州
将指定的文件名解压到 元件 目录并记录下来
这 准备 和 状态 知道检查它。
- 在里面
尚不存在任何分支,创建它们。
由于要操作的分支来自 目 如果不 - 分支 选项是
给定,你要么需要 目 指向一个尚不存在的分支(比如
紧接之后 混帐 初始化) 或者你需要你给一个名字 - 分支.
否则分支之一已经存在,你只会得到一个错误
信息。
- 分支 debian 分支
不要从当前派生 Debian 分支名称 目 但使用 debian 分支
反而。 (和上游分支名称和补丁分支名称派生自
像往常一样)。
--原始焦油提交 | --ptc
电话联系 原始焦油 承诺 对于所有尚未在
原始焦油分支。
--无原始焦油提交
不要打电话 原始焦油 承诺 对于所有导入的 tarball,即使已配置
这样做
混帐 配置 dpm.pristineTarCommit true 或
混帐 配置 科。debian 分支.dpmPristineTarCommit true.
--忽略删除, --dot-git-files=
传递给合并补丁,如果调用(仅在没有补丁时完成
之前)。
--上游作者 作者
用作 - 作者 争论 git-dpm 进口焦油.
--上游日期 日期
用作 - 日期 争论 git-dpm 进口焦油 (特别 汽车 is
支持从 tar 文件中提取日期)。
- 排除 模式
给定的模式在解包时作为排除模式传递给 tar。 能
多次给予。
进口焦油 [选项] .tar 文件
创建一个包含给定文件内容的新提交。 提交不会
有任何父母,除非你给 -p 选项。
-p 提交编号|--父母 提交编号
将给定的提交添加为父级。 (可以指定多次)。
- 分支 分店名称
创建新分支 分店名称 如果它不存在或替换
分店名称 使用从当前的 tarball 创建的提交
分店名称 作为父母的头。
-m 消息
不要为提交消息启动编辑器,而是使用参数。
- 日期 日期
要创建的提交日期。
如果值是 汽车 然后是任何文件或目录的最新日期
使用 tarball。
- 作者 作者
要创建的提交的作者。 它必须是通常的 git 格式
作者 <发邮件至>.
- 排除 模式
给定的模式在解包时作为排除模式传递给 tar。 能
多次给予。
记录新上游 [选项] .origtar [承诺]
如果您更改了上游分支(上游|上游的-任何), git-dpm 需要
知道这个分支现在对应哪个 tarball,你必须重新设置你的
修补分支(修补|修补-任何) 到新的上游分支。
如果有第二个参数,此命令首先替换您的上游分支
与指定的提交。
然后新的上游分支被记录在你的 Debian 分支的 debian/.git-dpm
文件中。
如果您指定 --rebase 修补 (或短 --变基), git-dpm 重新打补丁 将
被调用以在新的上游分支之上重新定位您的修补分支。
在此之后(如果分支看起来像你想要的那样),你仍然需要
呼叫 git-dpm 合并补丁到 debian (或直接 git-dpm 更新补丁).
警告 避免任何误解:您必须更改上游分支
在使用此命令之前。 您有责任确保内容
tarball 匹配上游分支的那些。
--rebase 修补
自动呼叫 git-dpm 重新打补丁.
--仅新压缩包
如果 tarball 更改但上游分支更改,请不要拒绝操作
不是。 (这只有在 tarball 改变而不改变它的
内容,请参阅上面的警告)。
-m 消息
用于记录到 Debian 分支的新提交的提交消息
新文件和上游分支。
- 修正
替换最后一次提交而不是在顶部创建一个新提交。
- 成分 文件名
Record 文件名 根据需要组件源文件(即一个
源名称_上游版本.orig-元件。柏油。压片 文件)。 是你的
负责将该文件的内容作为上游的一部分
分支(在一个 元件 子目录)。
(录制的文件将由 状态 和 准备。 的清单
当一个新的上游分支或
上游 .orig 源文件被记录)。
--忽略删除, --ot-git-文件=
传递给合并补丁,如果被调用(只有在没有
之前打过补丁,所以直接合并新的上游分支)。
重新打补丁
尝试重新定位您当前已修补的分支(修补|修补-任何)给您
当前当前的上游分支(上游|上游的-任何).
如果这些分支还没有作为 git 分支存在,则它们是从
信息记录在 debian/.git-dpm 第一。
这只是 git rebase 的一个方便包装器,它首先尝试确定
什么是rebase。 如果有任何冲突,git rebase 会要求你
解决它们并告诉 rebase 继续。
完成后(如果分支看起来像你想要的那样),你仍然
需要 合并补丁到 debian (或直接 更新补丁).
行李牌 [ 选项 [ 版本 ]
将标签添加到上游、修补和 Debian 分支。 如果没有给出版本,它
取自 debian/changelog。
选项:
- 刷新
如果标签已经存在并且不同(上游除外),则覆盖它们。
--刷新上游
如果上游存在并且不同,则覆盖上游。
--允许陈旧补丁
如果补丁不是最新的,请不要出错。 这仅在您使用时有用
正在导入历史数据并希望对其进行标记。
--命名
使用包名称作为生成标签名称的一部分。 (用 混帐
配置 dpm.tags命名 true 使其成为默认值)
--with-名称 姓名
喜欢 --命名 但给出要使用的名称。
--debian-标签 标签名称
--补丁标签 标签名称
--上游标签 标签名称
指定要生成的标签的名称。
%p 替换为包名,
%v 用冒号 (:) 和波浪号 (~) 替换的版本(无纪元)
下划线 (_),
%u 带有冒号的上游版本(没有纪元或 Debian 修订版)
(:) 和波浪号 (~) 替换为下划线 (_),
%e 随着时代的发展,
%f 如果有纪元,则在纪元后跟一个下划线 (_),并且
如果没有纪元,则为空字符串,
%V 用冒号 (:) 和波浪号 (~) 替换的版本(无纪元)
通过点 (.),
%U 带有冒号的上游版本(没有纪元或 Debian 修订版)
(:) 和波浪号 (~) 替换为点 (.),
%E epoch 后跟一个点,如果有一个 epoch,和空
如果没有纪元,则为字符串,
%% 与一个 %.
如果其中之一未通过命令行选项设置, 混帐 配置 被问到
价值 dpm.debian标签, dpm.patched标签 or dpm.upstream 标签. 如果那也没有设置
或特殊值 AUTO,然后 debian/.git-dpm 被扫描为表格的一行
debianTag="折扣值",
修补标签=“折扣值" or
上游标签=“折扣值".
(注意:总是将它们添加到文件末尾,前八行已固定
行号)
如果这仍然不会导致使用模式,则默认值为
'%p-debian%e-%v','%p-补丁%e-%v'和'%p-上游%e-%u' 和 --命名 和
'debian%e-%v','已修补%e-%v'和'上游%e-%u' 没有。
如果标签名称具有特殊值 没有,不生成标签。
参考标签 [ 选项 ] 承诺 [ 版本 ]
喜欢 行李牌,但为 承诺,即 承诺 将获得 Debian 标签和
其他标签放置在 debian/.git-dpm 该提交指向的文件。
所以它主要相当于:
混帐 结帐 -b 温度 承诺
git-dpm 行李牌 [选项[版本]
混帐 结帐 前任
混帐 科 -D 温度
像这样的选项 行李牌.
应用补丁 [ 选项... [ 文件名 ]
切换到 patched 分支(假设它是最新的,首先使用 checkout-patched
以确保或得到警告),并应用作为参数给出的补丁或来自
标准输入。
- 作者 作者
覆盖要记录的作者。
--默认作者 作者
如果无法从提交中确定作者,请使用它。
- 日期 日期
如果未找到,则最初记录此补丁的日期。
--dpatch
将补丁解析为 dpatch 补丁(仅适用于 dpatch 补丁实际上是一个
补丁,其他人可能会默默地失败)。
--cdbs 将补丁解析为 cdbs simple-patchsys.mk 补丁(仅适用于 dpatch 补丁
实际上是一个补丁,可能会默默地为其他人失败)。
- 编辑 在提交之前启动一个编辑器(以防你懒得修改)。
--记录名称
添加 补丁名称: 领域告诉 更新补丁 以相同的方式导出它
再次命名。
- 姓名 姓名
添加 补丁名称: 领域告诉 更新补丁 使用 姓名 作为文件名
将此补丁存储到(相对于 Debian/补丁).
- 类别 姓名
添加 补丁类别: 领域告诉 更新补丁 总是导出这个
补丁到子目录 姓名 of Debian/补丁.
摘樱桃 [ 选项... ] 承诺
重新创建修补过的分支并挑选给定的提交。 然后合并回来
进入 Debian 分支并更新 debian/patches 目录(即大部分
相当于 checkout-patched、git 的cherry-pick 和 update-patches)。
--仅合并
只将打过补丁的分支合并回 Debian 分支,但不更新
补丁目录(你需要稍后运行更新补丁来获得这个
完毕)。
-e | - 编辑
传递给 git 的cherry-pick:编辑选择的提交消息。
-s | - 搁笔
传递给 git 的cherry-pick:添加一个 Signed-off-by 标头
-x 传递给 git 的cherry-pick:添加一行描述选择的内容
-m NUM | --主线 NUM
传递给 git 的cherry-pick:允许通过指定父级来选择合并
看。
--重新选择
如果已包含指定的提交,则不要中止。
--允许非线性, --忽略删除, --dot-git-files=
如果调用,则传递给更新补丁。
传递给merge-patched-into-debian 和update-patches。
--保持分支
当不再需要修补的分支时,不要删除它。
- 修正
传递给 merge-patched-into-debian:修改 Debian 中的最后一次提交
科。
导入-dsc
从 .dsc 文件导入 Debian 源包。 这可以用来创建一个新的
项目或将源包导入现有项目。
虽然项目的可能旧状态被记录为父提交,但状态
不考虑旧的 Debian 分支。 尤其是所有文件删除和
.gitignore 文件等需要在之后重新应用/重新添加。
(假设来自外部的新源包版本可能会改变一些东西
重要的是,旧信息可能更可能过时。 并重新申请
比恢复此类更改更容易。)
第一步是导入 .origtar 文件和可能 .orig-元件。柏油 文件。
您可以指定要使用的分支。 除此以外 导入-dsc 会看
该项目的先前状态已经具有所需的文件,因此旧的上游
分支可以重复使用。 如果没有,文件将作为新提交导入,
默认情况下,可能的先前上游分支作为父分支。
然后 导入-dsc 将尝试以状态导入源包 dpkg-源
-x 会创造它。 (即应用 .diff 并制作 Debian/规则 可执行
对于 1.0 格式的包并替换 Debian的 包含内容的目录
.debian.tar 和应用可能 debian/补丁/系列 对于 3.0 格式包)。
这在后面被称为逐字导入。
如果是1.0的源码格式包, 导入-dsc 然后寻找一组受支持的
补丁系统并尝试应用这些补丁。 然后将它们与
逐字状态进入新的 Debian 分支。
然后a debian/.git-dpm 文件已创建,项目可能处于旧状态
添加为父级。
需要注意的是 dpkg-源 不是用来解压包的,而是解压出来的
手动。 尤其 git-应用 来代替 补丁. 虽然这一般
作品(和 git-dpm 有一些魔法可以解决一些问题 git-应用的缺点),
不干净的补丁有时可能需要一个 -C0 选项,然后在相同的情况下应用
在不同的位置 补丁 会应用它们。
常规选项:
-b | - 分支 分店名称
不要看当前的HEAD,而是将包导入到git-dpm
项目 分店名称 或创建一个新项目(如果该分支还没有
存在)。
- 逐字 分店名称
后 导入-dsc 已成功完成, 分店名称 将包含
.dsc 文件的逐字导入。 如果该名称的分支已经存在,
新的逐字提交也将旧的作为父提交。 (这也导致
逐字提交没有被其他更改修改,这可能导致
在更多提交中)。
--使用更改日志
解析导入包的 debian/changelog。 使用描述作为
提交消息以及作者和时间作为补丁和导入的默认值
在没有这些信息的情况下提交。 (警告:可能仍然包含一些粗糙的
边缘)。
关于创建上游分支的选项:
--上游使用 承诺
不要导入 .orig.tar 或尝试重用旧的导入,但始终使用
此 承诺 指定的。
你有责任让这个分支与
.orig.tar 文件加上各自的 .orig-component.tar 文件
目录。 (像往常一样,足够相似意味着:不会错过任何
您的补丁接触或您的构建过程需要(或重新创建,除非
Debian/规则 清洁 再次删除它们)。 每个文件不同于
.orig.tar 或不存在,您必须在生成的 Debian 中删除
分支。 任何补丁都不能触及这些文件。)
小心使用。 即使您使用 a 的内容,也不会警告您
完全错误的上游版本。
--分离上游
如果将 .orig.tar 作为新提交导入,请不要进行可能的提交
旧的上游版本父版本。
--上游父级 承诺
添加 承诺 如果导入新的上游版本,则作为(附加)父级。
(例如,这可用于使上游的 git 历史记录成为您的
包的历史记录,从而在挑选东西时帮助 git)。
--允许无父级
如果通过 git config 将 dpm.importWithoutParent 设置为 false,则 git-dpm 不会
允许在没有此选项的情况下运行 import-dsc 或至少打开
--upstream-parent 选项。
--原始焦油提交 |--ptc
电话联系 原始焦油 承诺 对于在其余部分之后导入的所有 tarball
import-dsc 命令成功。
--无原始焦油提交
不要打电话 原始焦油 承诺 对于所有导入的 tarball,即使已配置
这样做
混帐 配置 dpm.pristineTarCommit true 或
混帐 配置 科。debian 分支.dpmPristineTarCommit true.
--上游作者 作者
用作 - 作者 争论 git-dpm 进口焦油.
--上游日期 日期
用作 - 日期 争论 git-dpm 进口焦油 (特别 汽车 is
支持从 tar 文件中提取日期)。
--tar-排除 模式
给定的模式在解包时作为排除模式传递给 tar
tar 文件。 可以多次给予。
关于应用补丁的选项:
-f | --强制提交重用
尝试时只查看父级和树,不再查看描述
重用提交从以前的包版本导入补丁。
-CNUM | --补丁上下文 NUM
通过为 -CNUM 至 git-应用. 指定上下文行的数量
必须匹配。
--dpatch-允许-空
如果 dpatch 文件被视为没有改变任何东西,请不要出错
补丁。
由于 dpatch 文件可以是任意脚本, git-dpm 有一些问题
检测它们是否真的是补丁。 (它只能应付补丁)。 如果
不是补丁的脚本被视为补丁,通常会导致
补丁不修改任何东西,因此没有这个选项是禁止的。
--补丁系统 模式
指定用于源格式 1.0 包的补丁系统。
汽车 (这是默认值)
尝试通过查看来确定使用的补丁系统 Debian/规则
(和 Debian /控制).
没有 这些不是您正在寻找的补丁。
历史
不要试图在 .diff 中找到任何补丁(比如 没有)。 如果如果
项目已存在且上游 tarball 相同,请创建
使用旧补丁的补丁状态
并添加一块顶部使其达到新状态。
如果您导入某个包的多个修订版,其中每个新的
修订版最多向上游添加一个更改,此选项
允许您几乎自动创建一组合适的补丁
(理想情况下只缺少描述)。
如果有相同的更改和还原,这些将在
补丁创建,所以这种模式在这种情况下不是很有用。
被子 提取并应用一个 debian/补丁/系列 被子一样的系列在上面
在 .diff 文件中发现的可能的上游更改。
被子优先
作为 被子 模式,但将补丁应用于未修改的上游
首先,然后挑选在 .diff 文件中找到的更改。
因为这不是正常应用补丁的顺序
解包/构建周期,如果这些更改不明显,这将失败
足够了(例如,当补丁依赖于
.diff)。
但是如果 .diff 只包含不相关的变化
每个版本,这都提供了更好的历史记录,因为
补丁可以更容易地重复使用。
被套
作为 被子优先 模式,但假设补丁已经应用
在 .diff 中,因此将它们应用到未修改的上游之上,然后
添加一个提交,将它带到 .diff 中的状态。 (或者不,如果
补丁将为空)。
补丁 | 补丁优先 | 应用补丁
像 被子 分别 被子优先 分别 被套 模式,但
而是在中寻找 dpatch 风格的补丁 debian/补丁/00list.
请注意,仅支持补丁程序,而不支持运行其他补丁程序的 dpatch
命令。
简单 | 简单优先 | 简单应用
像 被子 分别 被子优先 分别 被套 模式,但
相反假设 Debian/补丁/ 包含适合 cdbs 的补丁
简单补丁系统.mk.
--补丁作者 "姓名 <发邮件至>"
为所有 git 提交导入补丁设置作者。
--patch-default-作者 "姓名 <发邮件至>"
为所有不包含作者信息的补丁设置作者(或
git-dpm 无法确定)。
--编辑补丁
对于导入的每个补丁,启动提交消息的编辑器。
--记录补丁类别
添加 补丁类别: 子目录中每个导入补丁的字段
of Debian/补丁。 这导致 更新补丁 将它存储在同一个
子目录。
--记录补丁名称
添加 补丁名称: 每个导入补丁的字段及其名称。 这引起
更新补丁 将其存储在其原始名称下。
记录-dsc [选项] 承诺 .dsc 文件
将原始 .dsc 文件存储在 数码管 存储它包含的文件后分支
使用原始焦油。
第一个参数是一个标签或提交存储 git-dpm 该州的项目
属于 .dsc 文件,第二个参数是 .dsc 文件本身。 这
它引用的文件应该与文件本身位于同一目录中(如果它们
需要)。
进行了一些检查以确保文件及其内容被正确命名并且
匹配有问题的提交,但只是粗略地避免明显错误(对于
示例仅检查版本,但未解压 .debian.tar 以检查
例如,文件实际上是相同的)。
选项:
--创建分支
创建一个新的 数码管 科。
--allow-无符号
允许录制未签名的 .dsc 文件。 这通常打败了重点
完全存储它们。
此 debian/.git-dpm 文件
除了调试 git-dpm 之外,你不需要知道这个文件的内容。
该文件包含 8 行,但未来版本可能包含更多行。
第一行是提示该文件的内容并被忽略。
然后有 4 个用于记录状态的 git commit id:
首先是补丁进入时补丁分支的状态 Debian/补丁 最后
更新。
然后是补丁分支上次合并到 Debian 时的状态
科。
然后是上次合并修补分支时的状态上游分支。
最后是上游分支。
以下 3 行是文件名、sha1 校验和和原始文件的大小
属于记录的上游分支。
快捷键
大多数命令也有较短的别名,以避免键入:
更新补丁:向上,向上,ci
准备:准备
结帐修补:co,cp
重新打补丁:rp
应用补丁:ap
进口焦油:它
进口新上游:inu,inu
记录新上游:rnu,rnu
在 debian 中合并补丁:合并补丁
record-new-upstream 也可以在旧名称 new-upstream 下使用,但可能会
在以后的版本中删除(以避免混淆)。
分支机构
上游分支(上游|上游的-任何)
该分支包含上游源。 它的内容需要足够等于
上游 tarball 中的内容。
足够相等意味着 dpkg-source 应该看不到您修补的
树和原始 tarball 未打包,应用了修补程序和 Debian/规则
清洁 跑。 通常,最简单的方法是存储原件的逐字内容
压缩包在这里。 然后你也可以将它用于原始焦油。
这个分支可能包含一个 debian/ 子目录,它通常会被忽略。
您可以发布该分支,也可以通过
debian/.git-dpm Debian 分支中的文件。
虽然较新的上游分支包含较旧的分支通常是有道理的,但这
不需要。 您应该能够从自己创建的或由某些人创建的切换
外国 vcs 导入工具生成一个到本地上游分支,反之亦然
没有问题。 请注意,由于 Debian 分支的补丁分支为
祖先和修补分支是上游分支,你的上游分支是
Debian 分支历史的一部分。 哪个优点是你可以
直接从历史记录中重新创建分支的确切状态(例如 混帐
结帐 -b 旧州 myoldtagorshaofdebian 分支提交 ; git-dpm 准备 ; 混帐
结帐 不稳定的旧状态) 但缺点是要删除这些历史记录
从您的存储库中,您必须做一些手动工作。
修补的分支(修补|修补-任何)
此分支包含您对上游源的补丁。 (这当然意味着
它基于您的上游分支)。
每个提交都将作为单个补丁存储在结果包中。
为了帮助 git 生成线性补丁系列,这应该是理想的线性链
提交,其描述对其他人有帮助。
由于此分支会定期 rebase d,因此您不应发布它。 相反,你可以
使用重新创建此分支 git-dpm 结帐修补 使用存储在
debian/.git-dpm.
不允许更改内容 Debian/ 这个子目录
分支。 重命名文件或删除文件通常会导致不必要的大补丁。
Debian 分支(主|任何)
这是主要分支。
这个分支包含 Debian/ 目录并将修补后的分支合并到其中。
每一个变化都不在 Debian/, .git* 或删除文件必须在补丁中完成
科。
替代分支名称
您可以为上游分支和修补分支指定备用分支名称
特定的 Debian 分支,或强制一个分支成为通常会的 Debian 分支
通过添加被视为例如另一个分支的上游分支 dpm上游分支
和 dpm补丁分支 为有问题的 Debian 分支配置项目(您需要
两者,只有一个被视为错误)。
以下示例是用于所有实际目的的无操作:
混帐 配置 分支.master.dpmUpstreamBranch 上游
混帐 配置 分支.master.dpmPatchedBranch 修补
版权
版权所有 © 2009,2010 Bernhard R. Link
这是免费软件; 请参阅复制条件的来源。 没有保修; 不是
即使是为了特定目的的适销性或适合性。
REPORTING BUGS AND 问题
您可以将错误或功能建议报告给 [电子邮件保护] 或
我。 请将问题发送至 [电子邮件保护] 或者给我在
[电子邮件保护].
使用 onworks.net 服务在线使用 git-dpm