Migrating your source
code to Subversion
A. Ibrahim & J. Yao
Monday, September 22, 2013
ECE750 - Fall 2013
Working in software project
Having collaboration problem
Subversion
• Subversion(SVN) is a centralized SCM (Software
Configuration Management) implementation.
• It allows to track...
Immediate Benefits
● Backup - change-by-change log of your work
● synchronization - easy to keep team members
always up-to...
History
● Subversion project founded in 2000 by CollabNet as an
effort to write an open-source version-control system.
● S...
Subversion clients
Windows:
TortoiseSVN, VisualSVN
Linux:
SVNclient
Eclipse:
Subclipse, Subversive
Visual Studio:
AnkhSVN,...
How are we
using TortoiseSVN
(Subversion)?
Terminology
● Repository - a “database” where changes are tracked
● Working set - local files potential changes not yet in...
Repository location
[local]
[remote]
Centralized VC flow /1
Centralized VC flow /2
Essential commands
● commit / check-in add or update repository from your
working set
● check-out / update - copy from rep...
Demo
Demo agenda
1. Creating a repository.
2. Create a temp
directory.
3. check out the temp
directory.
4. add a dummy file
5. ...
Branching
What is branching
Merging
What is merging
You need a demo
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 usi...
Developers
Collaboration
Collaboration /1
Collaboration /2
You need a demo
Demo agenda
1. Login by Harry
2. Harry checks-out the repository
3. Harry edits a file then commit
4. Login by Sally
5. Sa...
Best Practice
• Use a separate subversion repository for
each project
• Commit often
• Commit in small, discrete chunks
• ...
Subversion hosting
http://www.svnhostingcomparison.com/
Recommended Reading
• Version Control with Subversion, 2nd
Edition by C. Michael Pilato; Ben Collins-
Sussman; Brian W. Fi...
Questions?
Upcoming SlideShare
Loading in...5
×

Migrating your source code to Subversion

375

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
375
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
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?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×