Why a graphical interface?

  • It may be easier for newbies
  • It may provide powerful functionality that would be inconvenient with the command-line interface

GUI ideas

  • a patch dependency visualiser
  • an iTunes-like interface to patches (click on the ‘author’ column, and you see the patches sorted by author, for example)
  • click on a patch and you get some subtle feedback on all the patches it depends on (for example, they change colour)
  • maybe some kind of help resolving conflicts? (no clear ideas)
  • A file browser that highlights files not added to the repository, files that have unrecorded changes, etc.
  • Diff visualisation
  • MacOS X - integration with FileMerge?
  • a generic diff visualiser, which would allow to pick-and-choose lines of code into a third file, a la Visual Source Safe and the open-source kdiff3.
  • There should be two ways to use the darcs gui. One is to have a seperate gui for each command, so that you can run something like darcs whatsnew -gui. The other is to have a standalone gui.
  • The standalone gui could take a patch-oriented view towards repositories, rather than a task oriented one. That is, rather than decide you want to record some patches and then select the patches (for instance), you select a bunch of patches and decide you want to record them. (This is inspired from one of the patchworks’ screenshots)
  • Ability to edit named patches by moving primitive patches back and forth between them (from Shae’s request for a patch browser)
  • Instead of starting a GUI from scratch, add a darcs support to an existing GUI, for instance or

Old projects

Three students of the BTU Cottbus worked on a darcs GUI application based on the Grapefruit FRP library. They were supervised by Wolfgang Jeltsch. See for more details. The project is no longer maintained but the source code is still available (waiting to be cabalized, for a start).

wxDarcs is a defunct GUI project for Darcs that used to be part of the Darcs code. We had to remove it because we could no longer maintain it.

See also