On Sat, Jun 04, 2005 at 10:23:32PM +0900, Stephen J. Turnbull wrote: > Would it be that hard to simply spit out the list of patches in some > canonical text format all at once? That could be parsed, then a > controlling process could put up the GUI, then give commands to darcs > to actually do the work. Emacs, Tcl/Tk, and Python all have modules > designed for exactly this kind of task.
I have been thinking about something similar, and here's what I think so far. I think the easiest way is to (as you suggest) dump the patches all at once and then feed the list back to darcs with annotations telling darcs what to do for every patch, revert/record/unpull etc. The problem is that "free" annotations may not satisfy dependency requirements. These can be complicated (but usually are not). It boils down to this: there is no guaranteed (sensible) way to explain to the user why the annotation commands can't be performed. In general it would just be a message "dependency violation!" that could be _really_ annoying after trying a handful permutations to "circumvent" darcs (which I think would be a natural reaction). The way darcs decides the dependency restrictions goes all the way to the innermost engine of darcs patch theory, and so it is not feasible to "reimplement" in every GUI. darcs could perhaps dump a dependency DAG to the GUI, but it could at times take very long to calculate in full (for all choosable patches). Another way is a darcs core library and some scripting glue. Such a library could offer a way to acquire a "choice" data structure with patches and answers, and update it in consistent ways, the way darcs UI works now. -- Tommy Pettersson <[EMAIL PROTECTED]> _______________________________________________ darcs-users mailing list [email protected] http://www.abridgegame.org/mailman/listinfo/darcs-users
