1 / 27

Change management with Subversion

Change management with Subversion. Damien Guard (BSc, MBCS) http://damieng.com damien@envytech.co.uk. Guernsey Software Developer Forum http://developers.org.gg. Why manage change?. Why manage change?. Version control. Know and control what goes into a release

charriet
Télécharger la présentation

Change management with Subversion

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Change management with Subversion Damien Guard (BSc, MBCS) http://damieng.com damien@envytech.co.uk Guernsey Software Developer Forum http://developers.org.gg

  2. Why manage change?

  3. Why manage change? Version control • Know and control what goes into a release • Develop versions in parallel • Work with any previous code-base • Apply change where it is needed

  4. Why manage change? Collaboration • Function as a team without losing work • Merge automatically where possible • Resolve conflicts interactively • Autonomous off-line or distance working

  5. Why manage change? Responsibility • Audit log of what was changed by whom • Legal due diligence & professional conduct • Standards & certification compliance • Individual responsibility for contributions

  6. Why manage change? Gateway to... • Automated build & deployment • Continuous integration testing

  7. Why Subversion? • Open source, cross platform • Stable, widely used • Unobtrusive copy-modify-merge model • Integration via additional tools

  8. Technical benefits • Transactional commit mechanism • Metadata support per file & directory • Off-line support • Efficient use of network & disk

  9. Terminology

  10. Repository • Central store located on a servere.g. svn://myserver/https://s.myserver.com/ • Updated through commits • Recommended path structure

  11. Commit • Set of related changes • Receives unique sequential number n • Revision n refers to the repository after commit n is applied • Commit early and often

  12. Trunk • Primary path used for development • Active and potentially unstable • Should still compile ideally...and pass automated tests

  13. Branch • Copy of trunk, a branch or tag for isolation • When preparing for a release...and trunk needs to carry on • When change is too disruptive...and will hinder other developers • Merge changes back to trunk later

  14. Tag • Copy of trunk or a branch for information • Each tag represents a specific release • Easier than remembering revision & path • No further commits...so control /tags/ with security

  15. Working copy • Partial or full checkout of the repository • Local copy for a single developer • Native file formats - edit as usual • Subversion client data in .svn directories

  16. Server options • Hosted open - Google Code, SourceForge • Hosted private - CVSDude $7-$30/month • Svnserve dedicated - Simple set-up • Apache mod - HTTP, SSL, SSPI

  17. Clients • Command-line, cross platform & scriptable • TortoiseSVN for Windows Explorer • AnkhSVN for Visual Studio • Subclipse for Eclipse

  18. Getting started • Setup repository folders • Checkout • Import files • Commit

  19. Typical process • Make changes • Update working copy • Resolve any conflicts • Test • Commit

  20. Other operations • Revert • Patches • Branch & switch • Blame • Lock & unlock

  21. Additional tools • Tracticket & milestone tracking, wiki • CruiseControlcontinuous integration • ViewVCweb interface

  22. Conclusion • Subversion can work for you • Simple & inexpensive to get started • Address release, audit and collaboration headaches

  23. More information • Official web sitehttp://subversion.tigris.org • Version Control with Subversionhttp://svnbook.red-bean.com • Bruce Perens: Subversion Version Control http://phptr.com/perens/

  24. Questions?

  25. Developer buy-in • CommitmentDevelopers must be on-board • UnobtrusiveStay out of the way until needed • EnablingMake bold changes & remove dead code

  26. Disadvantages • Apache installation process • Large file handling via Apache > 15MB • Management of security • Tracking of merge

  27. Alternatives

More Related