1 / 21

Configuration Management Version Control Systems

Configuration Management Version Control Systems. By Ryan Keown. Overview. History of Version Control Local Systems Centralized Systems Decentralized Systems Why use a Version Control System (VCS) Risks of not using Version Control Branching, Merging, and Conflicts Binary Files

weston
Télécharger la présentation

Configuration Management Version Control Systems

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. Configuration ManagementVersion Control Systems By Ryan Keown

  2. Overview • History of Version Control • Local Systems • Centralized Systems • Decentralized Systems • Why use a Version Control System (VCS) • Risks of not using Version Control • Branching, Merging, and Conflicts • Binary Files • GIMP modified for Version Control

  3. History of Version Control • Manually renaming files • Local • Centralized • Decentralized

  4. Local Version Control

  5. Local Version Control Systems • SCCS, RCS, ClearCase • File Based • Locking • Single Location not networked

  6. Centralized Systems

  7. Centralized Systems • CVS, Subversion, Perforce • Central Repository • File Oriented • Merge before commit • Networked collaboration

  8. Decentralized Systems

  9. Decentralized Systems • Monotone, Bitlocker, Darcs, Git, Mercurial, Bazaar • Distributed Repositories • Commit before Merge • Change sets

  10. Why Version Control? • Backup and restore • Synchronization • History Tracking • Undo • Sandbox • Branching • Defect location

  11. Risks of Not using version control • Project Failure • Missed deadlines • Out of sync developers • Unknown untested code

  12. Branching and Merging

  13. Branches • Necessary Evil • Why Branch? • Development • Release Maintenance • Feature • Experimental

  14. Merging

  15. Conflicts

  16. Conflict Example <<<<<<< HEAD:index.html <div id="footer">contact : email.support@github.com</div> ======= <div id="footer"> please contact us at support@github.com </div> >>>>>>> iss53:index.html

  17. Binary Files • Microsoft Office files, 3D Meshes, Embedded Databases, and Pictures • Archives of files and usually compressed • Diff is impossible due to a change in the beginning ripples through the entire file

  18. Image File Solution • Modified version of GIMP • Directed Acyclic Graph (DAG) • Text based history of image editing • Each node editing operation • Each edge represents the relationship between operations • Graph difference algorithm used for automatic merge

  19. Edit History DAG

  20. References Alwis, Brian de, and Jonathan Sillito. "Why are Software Projects Moving From Centralized to Decentralized Version Control Systems?." CHASE '09 Proceedings of the 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering. (2009): 36-39. Print. <http://dl.acm.org/ft_gateway.cfm?id=1572211&type=pdf&CFID=172052581&CFTOKEN=28577438>. Chen, Hsiang-Ting, Li-Yi Wei, and Chun-Fa Chang. "Nonlinear Revision Control for Images." ACM Transactions on Graphics (TOG). 30.4 (2011): n. page. Print. <http://dl.acm.org/ft_gateway.cfm?id=1965000&ftid=1006199&dwn=1&CFID=172052581&CFTOKEN=28577438>. O'Sullivan, Bryan. "Making Sense of Revision-control Systems." Communications of the AC. 52.9 (2009): 56-62. Print. <http://dl.acm.org/ft_gateway.cfm?id=1562183&ftid=674024&dwn=1&CFID=172052581&CFTOKEN=28577438>. Premraj, Rahul, Antony Tang, et al. "To Branch or Not to Branch?." ICSSP '11 Proceedings of the 2011 International Conference on Software and Systems Process. (2011): 81-90. Print. <http://dl.acm.org/ft_gateway.cfm?id=1987890&ftid=969892&dwn=1&CFID=172052581&CFTOKEN=28577438>. "Git Documentation." . N.p.. Web. 1 Nov 2012. <http://git-scm.com/doc>. O'Sullivan, Bryan. Mercurial: The Definitive Guide. Sebastopol, CA: O'Reilly Media Inc, 2009. Print. <http://hgbook.red-bean.com/read/>.

  21. Questions

More Related