blis102 wrote:
Hello All!

I am currently working on a CMS using Django and I am ready to make a
switch to the SVN version because of the new features, bug fixes, and
increased performance but the developer I am working with is unsure of
the usefulness/safety of changing to SVN. We are at a stage in the
project where we are about to do a (almost) complete code re-write, so
now is the time to make this decision.

The major concerns he is having are:
1) Stability (He doesn't want the SVN version to crash our client
sites... obviously)
It won't. :)
2) Keeping client sites updated properly (We have about 10 clients
that we support right now and will probably have over 50 within 6
months, so keeping them all on the same level may be hard with the SVN
version)
What I do is I have one checkout of django for development. As I do development on various projects I have, I update as I see fit. When I'm done updating the project I'm working on, I copy my django tree, and simply keep that revision with the project folder on the development server.

Example:

I have www.example.com as a vhost on my apache with the following layout:
/var/www/www.example.com/public_html/media (media and other 'static' files go here.) /var/www/www.example.com/super_website (this is what holds the django project and any apps) /var/www/www.example.com/django (latest svn revision of django with which this site has been confirmed to be usable)

pythonpath for mod_python will have /var/www/www.example.com prepended.

This way, as I do an update to a site, I make sure that it works with trunk at that point in time.

When 1.0 is released, I can choose to freeze the django version with that site, or keep up with django svn.

I see this as an efficient way of keeping all my projects on track towards 1.0. I had a site that I inherited that was developed against a patched django 0.96. I needed to add a few features, so I went ahead and updated it to work with svn. I ported it away from oldforms/manipulators to newforms. I made a handful of fixes for backwards incompatibility, and spruced it up here and there. I could have just added the features and not gone to the trouble, but we plan to upgrade it to 1.0 in the future. I've done a good chunk of the work already. I also documented which revision I specifically made it work with, for future reference.

As I create or update other apps, that one won't break because it has its own django checkout. I'll update its checkout the next feature I add, or the next bug-fix I need to do.
3) "Why fix it if it ain't broken" (I don't agree with this philosophy
but he seems to be an advocate of it)
I'm an advocate of that philosophy too, but 0.96 is at least partially broken in some places. It is definitely usable, but I'd take SVN over 0.96 any day from a stability/bugs standpoint.
4) Benefits of SVN vs. 0.96
They are plentiful-- newforms is very nice. I can't remember if 0.96 has it, but if it does, they were somewhat broken.
In SVN, there are tons of goodies that can help you make a site really nice.

5) Staying on top of the development of the SVN version
Like I mentioned above, it is fine if you take it one project at a time. Others have suggested to pick a revision and stick with it for a while. This works great too.
I am aware of these reasons to use the SVN version:

- New features
- Bug fixes
- It is very stable, even if it is the SVN version
- All incompatabilites/new features are outline and everything is
documented

However, I don't think that is enough to convince him. If anyone could
point out things that I've missed or offer their opinion on the
matter, I would be very appreciative!
Try this:

Learn one of the amenities that come with SVN and show it off.

Good luck!

Jeff Anderson

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to