fab-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Fab-user] Fabric 0.9 alpha 1


From: Jeff Forcier
Subject: Re: [Fab-user] Fabric 0.9 alpha 1
Date: Fri, 1 May 2009 08:13:12 -0400

On Fri, May 1, 2009 at 7:49 AM, Christian Vest Hansen
<address@hidden> wrote:

> The change that broke the most things in my fabfiles are the removal
> of lazy string interpolation. I've been relying a lot on their
> recursive nature, and I had to do a fair bit of restructuring to get
> that part working again.

Yup, any heavy reliance on those is going to be a bit of a pain to
clean up, sorry. I'd be interested in future features to make managing
strings and env (or non-env) variables easier, depending on what
people's needs are and how many feel this particular loss.

> Another change is that local() is now what used to be called
> local_per_host(). This means that my build steps currently run
> multiple times every time I deploy.

This is due to the change in execution modes, as everything is called
per-host now; there is no more "call my Fabfile function once only,
regardless of # hosts", at least by default. Again something I'd like
to tweak if possible to make it more flexible.

> Where flag2 would test as boolean true. But that argument handling now
> seems to have become positional:

Yea, it is. If you look at the docstring for parse_arguments (which
I'll be getting hooked into the docs at some point):

    
http://github.com/bitprophet/fabric/blob/233cb2dad6ccfbd6454c6cca362c0de9d4d37761/fabric/main.py#L231

it should explain how this works now. I attempted to mimic normal
Python call order, so anything that doesn't do x=y becomes positional.

This, like most other things, is up for debate if enough people think
the older approach was more useful (i.e. no args, everything is
treated as kwargs instead), but I felt this was more Pythonic and more
obvious.

> I don't have access to a fab-deployed app that isn't one or two of those....

Ha. Not sure what to say, then. This is definitely an alpha and I'd
rather not find some bug by having people lose data or experience
server downtime. FWIW I tend to do any manual testing by hitting up
localhost and mucking around in /tmp/, it's still using SSH and all,
but the likelihood of breaking anything important goes way down :)

-Jeff




reply via email to

[Prev in Thread] Current Thread [Next in Thread]