Hi all,

I've updated http://code.fabfile.org/issues/show/122 since it seemed
relevant to this discussion.

The most obvious solution seems to be to make ~/.fabricrc a full
fabfile of sorts and to simply process it prior to loading the "main"
(per-project / based on user's cwd) fabfile. (Or leave it alone and
additionally auto-search for a ~/.fabfile.py or similar.)

We could also change the logic so it no longer stops at the first
fabfile but searches up to filesystem root and loads all found
fabfiles in reverse order (so the "closest" fabfile overrides "farther
away" ones.) This sounds closer to what Domen wants, and is possibly
cleaner than the "home dir + local" approach in the previous
paragraph.

(Steve, is your .fabrc solution different from either of those? is it
documented anywhere? I don't recall seeing it previously...)

The major problem with any multiple-fabfile approach, however, is that
it can break the ability to understand a given fabfile just by reading
it, because -- once http://code.fabfile.org/issues/show/21 is
implemented to allow calling of tasks by name -- the internal mapping
of task names/objects will have >1 fabfiles' worth of tasks in it.

This makes me kind of uncomfortable, though I realize how useful it
could still be. It's one of those things where I have to balance
"magical" usefulness against "non-surprising" naivite.

Thoughts welcome :)

-Jeff

On Wed, Dec 30, 2009 at 11:04 AM, Steve Steiner (listsin)
<list...@integrateddevcorp.com> wrote:
>
> On Dec 30, 2009, at 10:48 AM, Domen Kožar wrote:
>> Current solution:
>> Import my "global project fabfile" from /home/user/code/fabfile.py in
>> every project.
>
> I do the same thing, only from a ~/.fabrc directory (or something like that, 
> I forget).  I remember there was some talk about adding this but I didn't pay 
> much attention because I had already implemented my own solution.
>
> I'm not sure I like the magic up-traversal idea at all; even one level up 
> things have no relation to where I start and, especially on our servers, up 
> is not even an option from the jailed shell.  The highest level you'd reach 
> would be ~ anyway and the .fabrc solution already handles that.
>
> S
>
>
>
> _______________________________________________
> Fab-user mailing list
> Fab-user@nongnu.org
> http://lists.nongnu.org/mailman/listinfo/fab-user
>



-- 
Jeff Forcier
Unix sysadmin; Python/Ruby developer
http://bitprophet.org


_______________________________________________
Fab-user mailing list
Fab-user@nongnu.org
http://lists.nongnu.org/mailman/listinfo/fab-user

Reply via email to