On Mon, Jul 22, 2013 at 12:09 PM, Eduardo Morras <emorr...@yahoo.es> wrote:

> ...No, not as hooks, but as plugins. I think that include a scripting
> engine is great, I'm a lua user, but force to use only one not. Allowing to
> call external have this advantages:
>
> a) Not tied to one scripting language
> b) In smp environments, the script will run on other processor (or even
> remotely)
> c) It can work asyncronous, fossil may not wait the script ends
>

For some checks Fossil _must_ wait on the script to end. How can it do a
commit confirmation check if it doesn't wait on the results?



> Of course, with security at first.
>

One of my weak points - i'm very much relying on others to spot any
potential security problems.


> About hooks, thinking more about it, perhaps something more like a
> trigger. For example, in our c projects, we have this on the central
> repositories:
>

To be clear, i often use the words hook/plugin/trigger interchangeably.


> 1) a user syncs to central
> 2) after sync, we must run a script manually that
> 3) checkout last trunk version
> 4) compare trunk with trunk

5) if some change is detected, compile with clang static analyzer, it has
> an option to make an html report
> 6) add the report directory to reports branch
> 7) copy the new trunk to old trunk dir and rm everything else
> 8) close the checkout
>
> It will be great if fossil shoots the script each time trunk is modified,
>

Ideally we'll be able to do that type of thing. We need to define (A) when
various hook points will be triggered, (B) what parameters/data they
receive from fossil, (C) how fossil should deal with various exit/result
codes. e.g. do we just have success/failure, or are there varying degrees
of success/failure? This topic will certainly keep us busy for a while (but
will be very interesting). Once we are far enough along to have a script
binding of some kind we can experiment with this freely before deciding on
concrete semantics.

> i was thinking about that as well, but IMO the current system works
> > remarkably well. It effectively offers up to 26 (or 52) roles, which is
> far
> > more than projects of fossil's scale need. We could perhaps add a
> mechanism
> > to allow clients to add letters to the permissions alphabet. Or toss out
> > the mechanism and do something new. i think a full-fledged role
> management
> > system would be way overkill, but if we're starting from scratch
> anyway...
>
> Perhaps I mixed the concept of user and role. I thought more about the
> concept of file owner. By default all users owns all files, but some roles,
> like superuser or project architect, own some files or dirs and only
> him/her/it can modify them.
>

i think that would be impossible to implement properly in a DVCS (it would
be possible in a centralized SCM). When i clone your repo, i need access to
ALL of the files i cloned. If i cannot check out or modify certain files
just because you "own" them, the repo is useless to me. It means that if a
developer dies (as they occasionally do) then all of his locks are there
forever. This doesn't sound realistic to me. One of the things fossil
promises which other SCMs do not is "forever" - it's data format is
designed to outlive the software, which means that in 200 years someone
could read the fossil data format, import an ancient sqlite3 fossil DB into
his sqlite27 db, and get back to work. Except that now he can't make
changes because the files in the repo belong to another user ;).

-- 
----- stephan beal
http://wanderinghorse.net/home/stephan/
http://gplus.to/sgbeal
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to