Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Subversion Best Practices

25.305 Aufrufe

Veröffentlicht am

Some useful best practices for subversion revision control

Veröffentlicht in: Technologie
  • Login to see the comments

Subversion Best Practices

  1. 1. 4
  2. 2. Imports
  3. 3. top skimming vs cvs2svn
  4. 4. One project at a time
  5. 5. repo/project/ trunk/ branches/ tags/
  6. 6. http://cvs2svn.tigris.org/ cvs2svn.html
  7. 7. Tags and Branching
  8. 8. Don’t be afraid
  9. 9. TAGS Symbolic naming for groups of files
  10. 10. Snapshot
  11. 11. Mixed revisions
  12. 12. Don’t commit to tags
  13. 13. BRANCHES
  14. 14. Repository forks
  15. 15. Trunk Branch
  16. 16. Contain independent changes
  17. 17. Parallel commits
  18. 18. Generating releases and space to experiement
  19. 19. Trunk stays stable
  20. 20. Each release is on a branch
  21. 21. Release points are tagged
  22. 22. Branch and tag when appropriate
  23. 23. Quick example
  24. 24. Creating a release branch
  25. 25. svn mkdir -m ‘Created branches directory’ svn://repo/svn/project/branches
  26. 26. svn mkdir -m ‘Created branches directory’ svn://repo/svn/project/branches svn copy -m ‘Creating release branch 1.0’ svn://repo/svn/project/trunk svn://repo/svn/project/branches/RB-1.0
  27. 27. Checkout release branch to local working copy
  28. 28. svn co svn://svn/rep/branches/RB-1.0 rb1.0
  29. 29. Switch working copy
  30. 30. svn switch svn://svn/rep/branches/RB-1.0
  31. 31. Some time passes...
  32. 32. Generate a release
  33. 33. Tag correct files in correct branch Hopefully the latest release branch
  34. 34. svn mkdir -m ‘Created tags directory’ svn://repo/svn/project/tags svn copy -m ‘Tagging release 1.0.0’ svn://repo/svn/project/branches/RB-1.0 svn://repo/svn/project/rags/REL-1.0.0
  35. 35. Check out a tagged release
  36. 36. svn co svn://svn/rep/tags/REL-1.0.0
  37. 37. Merging
  38. 38. Trunk stays stable
  39. 39. Merge branches back to trunk
  40. 40. Trunk Merge Branch
  41. 41. svn update svn merge -r37:HEAD svn://svn/rep/branches/RB-1.0 svn commit -m ‘Merged r37 to r38’
  42. 42. svn update svn merge -r37:38 svn://svn/rep/branches/RB-1.0 svn commit -m ‘Merged r37 to r38’
  43. 43. Good for spikes
  44. 44. Good for bug fixes
  45. 45. Love your IDE
  46. 46. IntelliJ IDEA Eclipse Komodo emacs vim
  47. 47. Bonus recipe!
  48. 48. Automated integration
  49. 49. SVN hooks (just like CVS)
  50. 50. Automatic actions
  51. 51. Cruise Control
  52. 52. Harmony
  53. 53. Talk to SSG
  54. 54. slideshare.net/mza

×