Migrating your source code to Subversion

658 views
493 views

Published on

This presentation is a basic introduction to Subversion and what it does.

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
658
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Migrating your source code to Subversion

  1. 1. Migrating your source code to Subversion A. Ibrahim & J. Yao Monday, September 22, 2013 ECE750 - Fall 2013
  2. 2. Working in software project
  3. 3. Having collaboration problem
  4. 4. Subversion • Subversion(SVN) is a centralized SCM (Software Configuration Management) implementation. • It allows to track changes and concurrent development on the same files.
  5. 5. Immediate Benefits ● Backup - change-by-change log of your work ● synchronization - easy to keep team members always up-to-date ● accountability - know who make each change and why ● conflict detection - keep the repository clean every time
  6. 6. History ● Subversion project founded in 2000 by CollabNet as an effort to write an open-source version-control system. ● Subversion found to overcome the disadvantage of first centralized version control system called CVS (concurrent versioning system - 1986 - file focused). ● Subversion improves better functionality with regard to the tracking changes in directory structures, binary, and text files.
  7. 7. Subversion clients Windows: TortoiseSVN, VisualSVN Linux: SVNclient Eclipse: Subclipse, Subversive Visual Studio: AnkhSVN, Team Foundation Server
  8. 8. How are we using TortoiseSVN (Subversion)?
  9. 9. Terminology ● Repository - a “database” where changes are tracked ● Working set - local files potential changes not yet in repository ● Trunk - original line of development (main branch) ● Tag / label - name a specific state of the repository ● Branch / fork - make a clone of a repository
  10. 10. Repository location [local] [remote]
  11. 11. Centralized VC flow /1
  12. 12. Centralized VC flow /2
  13. 13. Essential commands ● commit / check-in add or update repository from your working set ● check-out / update - copy from repository to your working set ● merge - integrate your branch (clone) back into the original repository ● revert / rollback - overwrite files in your working set with specific version
  14. 14. Demo
  15. 15. Demo agenda 1. Creating a repository. 2. Create a temp directory. 3. check out the temp directory. 4. add a dummy file 5. edit the file with a function. 6. Commit a Working Copy 7. Making Changes 8. update files from the repository
  16. 16. Branching
  17. 17. What is branching
  18. 18. Merging
  19. 19. What is merging
  20. 20. You need a demo
  21. 21. Demo agenda 1. Create a new branch 2. Edit a file 3. Merge it back into the trunk 4. Show change happened in the trunk using Diff 5. Switch the trunk into its previous state before merging. 6. Display the log of the repository
  22. 22. Developers Collaboration
  23. 23. Collaboration /1
  24. 24. Collaboration /2
  25. 25. You need a demo
  26. 26. Demo agenda 1. Login by Harry 2. Harry checks-out the repository 3. Harry edits a file then commit 4. Login by Sally 5. Sally checks-out the repository 6. Sally makes changes to the file and tries to commit 7. Sally needs to update first before she commits 8. Conflict happens between the two version 9. Solve the conflict 10. Locking and release locking
  27. 27. Best Practice • Use a separate subversion repository for each project • Commit often • Commit in small, discrete chunks • Use consistent log messages • Send commit emails to team • Create tags before big changes • Test your code before committing
  28. 28. Subversion hosting http://www.svnhostingcomparison.com/
  29. 29. Recommended Reading • Version Control with Subversion, 2nd Edition by C. Michael Pilato; Ben Collins- Sussman; Brian W. Fitzpatrick (http: //svnbook.red-bean.com). • Managing Software Development with Trac and Subversion by David J Murphy.
  30. 30. Questions?

×