27.01.2015 Views

Best Practices of Plone Development

Best Practices of Plone Development

Best Practices of Plone Development

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

1.6 Version Control 1 BEST PRACTICES FOR PLONE DEVELOPMENT<br />

1.6 Version Control<br />

1.6.1 Source Code Control<br />

• Critical for teams<br />

If your team is larger than one, source code management is essential. It will<br />

allow your team to work together more quickly, with much less “stay out <strong>of</strong><br />

this; I’m working on it”, and much less “I’m not sure what this person was<br />

doing here”. Hands-down, the successful implementation <strong>of</strong> SCM will be the<br />

biggest win for your team’s coordination and performance.<br />

• Helpful for code archaeology<br />

When faced with old code <strong>of</strong> your own, or someone else’s code, seeing the<br />

log messages and way it was built is <strong>of</strong>ten incredibly helpful in finding bugs<br />

and maintenance.<br />

• Branches<br />

Often, you’ll work for a day or two on a new idea, only to figure out that it<br />

isn’t working out, you’ve screwed up, and you can’t remember all the billions<br />

<strong>of</strong> things you changed while on a tear to try out this new idea. This is exactly<br />

what branches in a version control system are meant to manage.<br />

Learn how to use branches for your VC system. They’re easier that even in<br />

Subversion.<br />

1.6.2 Version Control<br />

• Subversion recommended<br />

– Similar to CVS, but redesigned from ground-up<br />

– Commits are for an entire changeset, not just files<br />

– Easier to understand relationship <strong>of</strong> commits<br />

– Sane API for utilities<br />

• Zope isn’t involved at all w/version control<br />

32

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!