Darcs’ merging is always done the same way, by transforming
patches, such that they form a linear history. This does not
allow for different merge “strategies” as in Git, but instead
results in behaviour similar to what Git users would call
rebasing (N.B. darcs merging is not related to the darcs rebase
command). However, simple merging in Darcs does not change patch
identities (unlike git rebase), so Darcs can safely
reorder/merge published patches.  The index  Darcs does not use
a git-style index (we have a control file called “index” which
is completely unrelated) to stage commits.  If staging is
important to you, one workflow you could try is to to use amend-
record to stage changes as you go. You could, for example,
record a patch named “DRAFT” and incrementally add to this using
amend-record. When you’re done, just amend-record –edit to give
the patch its final name.  Some advantages of Git staging,
pointed out by Alberto Bertolgi, with a proposal of equivalent
workflow with darcs:    • when merging, the