================
To do before 1.0
================

================================
To do either before or after 1.0
================================

* Add a --clean option to optimize to get rid of old cruft in the _darcs
  directory (old patches, etc).

* Make check by default give a bit more verbose and useful output.

* Add manual section explaining how conflicts and conflict resolution
  work.

* Make apply support patch bundles as base64-encoded attachments.

* Add documentation for the interactive record mode.

* Write an interactive conflict resolution command.

* Add a date range parser ("in the last 3 weeks"), and support for nicer
  date matching in --match.

* Add an option to the 'optimize' command to arrange the patches so that
  the patches I have in common with another repo are at the beginning.

* Make darcs record of a remove only prompt for removal patch when removing
  a file, not also for the deleting of the file contents.  Similarly for add.

* Mark a remote patch as unwanted, so you won't get prompted for it on
  pulls (and similarly on pushes).

* Add support for signed patch bundles in a repository.

===============
To do after 1.0
===============

* See about rewriting Merger commutes so that no merge with A^-1A will
  conflict.  This is mostly just a change in the merger commute, but also
  should involve writing a unit test and working on the name-conflict
  commute.  I think that when this property is implemented, elegant_merge
  can then be simplified and sped up by perhaps a factor of two.

* Think about what happens with merges and rollbacks.  Does an inverse of a
  merged patch behave like the merge of an inverted patch? I suspect not,
  and this connects with the "See about rewriting..." above.

* Change handling of conflicts to keep track of auto resolutions so
  sequential pulls can't cause trouble in the working directory.

* Make pull smart about creating hard links when pulling from a local repo.

Patch types to add:
==================

* Patch includes (identical to patch depends, but hides included patch)

* Hunk indent/unindent (low priority)

* Hunk move (low priority--created by canonize)

* Word (like hunk, only operates on 'words' rather than 'lines', in a
  paragraph environment, with a given number of columns, with the lines
  being shifted around.  Intended for stuff like latex or long comments.
  VERY low priority)

