eje211
eje211

Reputation: 2429

Plone version control, how?

I'm trying to get into Python and, more specifically, Zope and Plone. I read the book Professional Plone Development and one thing it says is that one MUST use version control. But the book did not expand on that topic any further. This leads to two questions.

First: SVN or git? (My research points to git, if only to learn it. I've only used SVN so far.)

And second: Which files should be handled by version control? Settings and my own code? The whole Zope directory? Not the data.fs, surely? Not the .pyc files, I'm sure of that. I've taken a break from Plone for that reason these days, and I couldn't find a good guide for that. In short, so far, when I synchronised the data between my local PC and my web server, things broke. Badly. And I'm not sure why. Either some updates were missing, or some platform-specific files were updated. My home PC is 64 bit Ubuntu and my distant web server is 32 bit RHEL. It felt like such a mess, and like such a dangerous mess, that I'm a bit apprehensive of going back near it.

Is there a way to know which files should be handled by a version control system and which should not?

Thanks.

Upvotes: 2

Views: 908

Answers (3)

Daniel
Daniel

Reputation: 1406

It's quite hard to find a conclusive answer for this. The best reference I've found is this Plone project, which is checked into version control already:

https://github.com/Plone-Conference-Devs/ploneconfbuildout

Upvotes: 0

Laurence Rowe
Laurence Rowe

Reputation: 2999

No, no. Never make changes to the Zope/Plone system code. Create an add-on and make your customisations there. Of course you must keep backups, but version control is not a good fit for this.

You should ensure that any production buildout is repeatable. That means pinning all versions to your release (see http://pypi.python.org/pypi/buildout.dumppickedversions for a handy extension to record your picked versions) and keeping a backup of any source distributions locally, i.e. backing up your buildout downloads-cache.

Upvotes: 5

PortKnox.net
PortKnox.net

Reputation: 88

I put only my buildout files into svn (dir: project/buildout/trunk). Buildout fetches all Plone/Zope files in the right versions.

Additionally i put my eggs in svn (dir: project/eggs/trunk). My eggs hold all the modifications into Plone.

My buildout uses mr.developer to auto fetches my eggs.

You ca check http://toutpt.wordpress.com/2010/07/07/nantes-developpement-com-a-new-plone-website-by-makina-corpus/ its a big buildout and uses all kind of mods and extensions.

Upvotes: 1

Related Questions