Vcs overview

1,631 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,631
On SlideShare
0
From Embeds
0
Number of Embeds
940
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Vcs overview

  1. 1. Version Control Systems Short Overview Martins Kemme
  2. 2. Why Would You Need VCS? Where is When code? it was changed? Who did Why change? code was modified?
  3. 3. Centralized Distributed Client Client Server Client Client Client Client Client Client
  4. 4. Centralized Distributed Can be controlled well - Flexible in capabilities and security, different validation processes scripts (hook scripts) Good if you need “lock” Should not be used if you have feature non mergeable binary files, e.g. “doc”, “jpg”, ”fmb”, etc. Good for large repositories Repository replicated on all client computers
  5. 5. Centralized Distributed Subversion Git CVS Mercurial (hg) Bazaar ...and many commercial tools ...and more
  6. 6. Distributed Version Control Systems has a good feature - they encourage local (private) commits and more frequent commits. Change does not necessarily needs to be made available to everyone, just because I wanted to make an interim milestone in my work
  7. 7. Some Questions Distributed | Centralized Will I store binary files? Do I need file locking, i.e. prevent simultaneous modification of the same file? Distributed | Centralized Do I need capability of offline repository browsing? Do I need to have opportunity to develop and commit changes offline? Which tool? Do I need sophisticated front-end application, e.g. integration with OS shell? Which tool? On which platform will I use this tool? Windows? Linux? Mac? Several platforms? Which tool? What tool is used by community using the same programming language or product niche?
  8. 8. Implementation Must Do’s Align with change control process. For example: • Require reference to change ID for every commit, i.e. link changes in the repository with “business changes” • Implement integration plugins between various issue / change tracking systems and VCS of your choice • Send notification e-mails after changes have happened • Create separate branches for development and ongoing maintenance • Enable code reviews for certain modification types
  9. 9. Implementation Must Do’s Implement quality controls in your VCS. For example: • Check encoding (UTF-8?) • Check file name (*.html not *.htm; uppercase/lowercase) • Check if file has been committed in the proper directory (.doc files only in documents/ directory) • Check quality attributes in file content, e.g. keywords, comment lines • Enable sophisticated access control (master configuration file can be edited only by lead developer) Follow best practices for usage of the particular tool of your choice, e.g. repository layout, tagging, etc.
  10. 10. Martins Kemme

×