2

在 Git 中,我可以通过运行以下命令来查看两个提交之间的差异:

$ git diff c23a45 ffd644

我如何在 Darcs 中做到这一点?

在我尝试过的用户手册第 5.10.1 节之后:

$ 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

使用完整补丁哈希时出现类似错误。

4

1 回答 1

2

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

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

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

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

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

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

于 2016-11-30T17:37:17.433 回答