On Sep 12, 2006, at 9:44 AM, Jim Fulton wrote:

On Sep 12, 2006, at 9:03 AM, Martijn Faassen wrote:
The 'svn update' usecase is the reason we could think of why install is always called, even if recipe and buildout config hasn't changed.

Right now the install method can be called in a number of different cases:

a) when the part isn't there yet

b) when the part is there, and the configuration or recipe has changed. In this case the part is removed again automatically, so this is equivalent to a).

c) when the part is there, and the recipe and configuration have not changed. In this case there needs to be code that bails out if the part is there and looks okay, or alternatively update code that updates the part (svn up).

Case c) looks different. If there was an update method that got called in case c), the install method wouldn't need to be called anymore, and:

* the install method can *always* assume the part isn't there and that it needs to freshly install it.

* the update method can *always* assume the part is already there and it needs to be updated (if necessary).

* we don't need to implement our 'bail-out' method in install anymore.

Let me mull that a bit.

I like this idea. So, in the (not too distant) future, one of install or update will be run, but not both. install will be called when a part is not installed, and update otherwise. If a recipe doesn't have an update method, then install will be called instead and a warning will be issued.


Jim Fulton                      mailto:[EMAIL PROTECTED]                Python 
CTO                             (540) 361-1714                  
Zope Corporation        http://www.zope.com             http://www.zope.org

Zope3-dev mailing list
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to