On Mar 16, 2010, at 8:18 AM, Chris Rossi wrote:

> On Tue, Mar 16, 2010 at 11:14 AM, Chris Calloway <c...@unc.edu> wrote:
> On 3/16/2010 10:37 AM, Chris Rossi wrote:
> If I may play devil's advocate here, isn't the very idea that zopeskel
> would do your svn checkin for you a bit overwrought?  Is it so hard to run
> the template and then do svn add?  The easiest features to support are the
> features you don't have, and with a feature like this it's going to be
> especially hard to get right because different users are going to have
> different expectations.  I would, for example, consider anything that tried
> to check in .egg-info to be broken.  I would argue that maybe the right
> choice is to drop this feature altogether and assume users can handle their
> own source control.
> If we were going to add this feature today, yeah, we should think better of 
> it.
> But at the sprint we agreed on a "do no harm" policy to the ZopeSkel users 
> who already use pre-existing features of ZopeSkel, however ill-considered 
> those features may be.
> That's part of why we made the zopeskel wrapper binary: so we could make  
> usability changes to ZopeSkel for the benefit of themers and integrators, 
> without impacting the developers who already depend on ZopeSkel as it is (and 
> who use an unwrapped paster binary).
> So as far as the zopeskel binary goes, --svn-repository is probably a paster 
> option it should either:
> a) not be passing along to paster (and maybe warning about it), or
> b) doing a combination of:
>   i) checking for non-egg templates, and
>   ii) Clayton's good idea (setting svn:ignore on egg-info) for egg templates
> Obviously, my vote is for a) with a warning, but I have little stake in this 
> either way.

I'm leaning towards a) myself.  Having walked my way through the process 
yesterday, There doesn't seem to be much of a place to wedge the code that 
would add an svn:ignore in zopeskel code.  The property would have to be added 
_before_ the egg-info directory was added to svn, or it wouldn't work.  Right 
now, the control flow appears to be:

zopeskel is called w/ --svn-repository -> paster creates, and then checks out 
trunk of an empty repository -> check-vars [zopeskel version] is run, gathering 
the needed info to build the skeleton -> all files and folders are created and 
added to the repository immediately afterwards (in the same chunk of 
[pastescript] code) -> finish up.

The logical place to do any setting of svn:ignore might be in the 'check-vars' 
code, but it's not a particularly logical space to put things.

My instinct is to swallow the --svn-repository option and notify the user that 
we are doing so.  We can leave it so that the option would still work if you 
use 'paster create -t template_name' instead of 'zopskel template_name'.

Any final thoughts?  (And thanks for all the input.  Nice to know you all are 
out there ;) )


Cris Ewing
Webmaster, Lead Developer
Department of Radiology Web Services
University of Washington
School of Medicine
Work Phone: (206) 616-1288
Cell Phone: (206) 708-9083
E-mail: cew...@u.washington.edu
Web: http://www.rad.washington.edu

ZopeSkel mailing list

Reply via email to