Hi,

(I created the branch a few hours earlier, but didn't post until now
because there was a problem using that branch at Savannah, I corrupted
the SVK repository somehow and it takes forever recreating it :/)


I've been playing with the idea to support per-project scm hooks
management for a little while. Until now this happened to be a
flat-text, manually edited file with a crufty backend lying at
Savannah. For the past few weeks I've worked on integrating this in
Savane and storing the data in MySQL.


Well, so the goal is to have a set of hooks of different types (email
notifications, cia...) attached to each repository of each
SCM. Currently I plan to use a sort of 'plug-in' approach so that site
admins can add easily add custom hooks easily (we'll need a couple at
SV for the websites replication).

I also plan to write code specific to each SCM, since the various
hooks system tend to be non-trivially different, with different hook
scripts as well.

A last goal is not to completely control the SCM hooks system, so I
used something similar to sv_aliases to insert the data in
CVSROOT/commitinfo and CVSROOT/loginfo (#<savane>...#</savane>), which
allows to disable overwriting by the backend and easily make
exceptions for a couple projects or during tests.


I just posted the first working version, there's still hard-coded
values and lousy code, but I should progressively fix those. Currently
there's code to support log_accum.

Next goals are to define to plug-in interface by extracting generic
code out of the log_accum code, and see how to support additional
SCMs.

-- 
Sylvain

_______________________________________________
Savane-dev mailing list
Savane-dev@gna.org
https://mail.gna.org/listinfo/savane-dev

Reply via email to