在 Darcs 中,查看两个补丁之间的差异

In Darcs, view diff between two patches

在 Git 中,我可以通过 运行 查看两次提交之间的差异,例如:

$ git diff c23a45 ffd644

如何在 Darcs 中执行此操作?

以下 section 5.10.1 of the user manual 我已经尝试过:

$ darcs diff --from-patch ffd644 --to-patch c23a45

但这给出了错误:

darcs: Couldn't find patch matching "patch-name ffd644"
CallStack (from HasCallStack):
  error, called at src/Darcs/Patch/Match.hs:654:43 in darcs-2.12.4-EYDQyfVEyiPHocMCwLEEKg:Darcs.Patch.Match

我在使用完整补丁哈希时遇到了类似的错误。

要通过哈希引用补丁,请使用 --from-hash--to-hash:

darcs diff --from-hash ffd644 --to-hash c23a45

您还可以使用更详细的 match 语法:

darcs diff --from-match 'hash ffd644' --to-match 'hash c23a45'

请注意,这是一个 包含 选择:您会看到一个差异,其中包含您指定的两个之间的所有补丁。

包含的补丁集还取决于补丁当前在您的存储库中的顺序。如果您重新排序补丁,例如使用 darcs optimize reorder 或将它们拉入不同的存储库,那么您可能会看到不同的差异。