[darcs-devel] Scriptability, GUI

Daniel Lutz DLutz at gmx.net
Mon Aug 29 09:56:04 PDT 2005


Hi,

I'm new with darcs. And I'm am very impressed by the nice features and 
the very clear design (which contrasts to most of the other free 
systems). What I miss is a nice GUI which allows to
- get an overview of the repository (patches, type of patches, "size" 
of changes, dependencies)
- explore diffs between files/patches
- get support for summarising changes when "darcs record" (diffs, 
dependencies, templates for patch names, -> "bk citool")
I think with a good GUI darcs is at least as powerful as BitKeeper for 
small und medium projects.

So, I'm planing to build a GUI for darcs (most probably with Qt/C++).
When I started to gather (my) requirements theses requirements for 
darcs came out. Maybe I missed something but I didn't see a way how to 
fullfill them with my current darcs in a clean, robust and scalable 
way.
For good scriptability I think the following features should be 
available in darcs (I guess all these things are relatively easy to 
implement):

1) It must be possible to address each patch in a repository 
unambiguosly in every command which accepts patches (e.g. diff, 
changes, unrecord).

2) It must be possible to get the file which comes out when all patches 
until some patch are applied to an empty file. This is mainly required 
to allow the usage of external (graphical) diff tools.

3) Repository locking. In BitKeeper there is a (blocking) block 
command. Something similar would greatly improve the robustness of the 
repository when using GUIs and shell scripts.

4) Setting the explicit dependencies (darcs record) by command 
arguments (instead of asking for each available patch).

5) Querying the patches from which a patch depends directly should be 
possible without eximining the patches/*.gz files.
   -> http://bugs.darcs.net//Ticket/Display.html?id=457

What do you think:
- Are there already (clean) solutions for this in the current darcs 
which I didn't see?
- Is this the direction in the development of darcs anyway?

Regards,
Daniel





More information about the darcs-devel mailing list