[darcs-users] A Plugin Architecture for Darcs

Jason Dagit dagit at codersbase.com
Mon Oct 30 18:59:47 UTC 2006


On 10/30/06, Nimrod A. Abing <nimrod.abing at gmail.com> wrote:
> Hello everyone,
>
> I've been looking to extend darcs for quite some time now but because
> I have a difficult time wrapping my head around Haskell, I am unable
> to do so. I could go and learn Haskell, matter of fact I have been
> doing so on and off for over a year now. But it's hard to think in
> functional terms when you have been hard-wired for so long to think in
> imperative terms.

The rewiring is healthy for your brain :)

> As a result I have resorted to writing a wrapper script, which
> currently only implements a very primitive "ignored patch lists"
> handling. It's not a very good system but it works for my needs. I
> also have one feature that I want to implement but I think I am going
> to need to go into the darcs internals to be able to do it. For me,
> Haskell programming is still a black art :) so hacking the darcs
> sources is way over my head at this time. The posthook system is
> inadequate as this feature I am planning to implement can be
> considered as a separate command.

Would prehooks be inadequate too?  Every major software team I've been
a member of had complicated pre and post commit hooks (always using
cvs or svn) and sometimes it's funny to me that darcs is as
successfull as it is without good support for such things.  Although,
darcs test is quite similar to what our pre-commit scripts did in the
past.

My overall comment is that I would like to see a libdarcs which
provides the core darcs functionality as a library with C bindings (so
that most languages which support FFI can interface with it).  I think
I suggested this a long time ago but sadly never did anything about
it.  Right now (for me at leas) it's a bit hard to separate darcs the
tool + UI from darcs core + tool + UI.  I believe this libfoo approach
is the one taken by svn and has been quite successful for them with
regard to new extentions and tool integration.

Jason




More information about the darcs-users mailing list