GIT / SVN - Which Is The Future?: Presentation by - Ajeet Singh Raina
GIT / SVN - Which Is The Future?: Presentation by - Ajeet Singh Raina
to make patches
Version 1.0 New feature
To document changes
to explain changes to new developers Bug-fix
to attribute good/bad changes
To find bugs initial
Centralized SCM
Centralized VCS
SVN ( NetBeans,Mono, FreeBSD)
Decentralized VCS
Mercurial ( Mozilla, OpenSolaris)
Git ( Linux Kernel, Perl, KDE, Python, Android)
Where Centralized System Win?
• Single Repository Point
• Easy setting Up of Access Control
• Partial Checkout
• Good User Interface
Pitfalls
• If Centralized Repository goes down
• Branching and Merging
• Performance Issue
• Incomplete Merge Event Record
• Compression Tool
Where it Wins?
• Distributed Nature
• Cheap Local Branching
• Small Space Requirement
• Easy to Learn
• Easy Merging
• Any WorkFlow
Integrated Manager WorkFlow
1. Integration Manager – A Single Person who commits to the blessed
Repository
2. A Number of developers clone from the Repository, Ask integrator to
pull in their changes.
Dictator & Lieutenants WorkFlow
• People are in charge of a specific subsystem of the project
( ‘lieutenants’)
• Another Integrator(‘the dictator’) can pull changes from his/her
lieutenants, push to the ‘blessed’ repository.
Decentralized at a Glance..
Decentralized at a Glance..
Decentralized at a Glance..
Decentralized at a Glance..
Decentralized at a Glance..
Decentralized at a Glance..
Creating GIT Repository
How Branching is Easy?
Working on Branches
Working on Branches
Working on Branches
Working on Branches
Working On Branches
Working on Branches..
Working on Branches..
Working with Branches..
Working On Branches..
Working On Branches..
Working on Branches..
Working on Branches..
Working on Branches..
Working on Branches..
Working on Branches..
Working on Branches..
Working On Branches..
Working on Branches..
Working on Branches..
Conclusion
• With Decentralization,
Clients can commit changes while being offline
Complete copy of data is stored locally thereby fast compared to
Centralized System.
Decentralized System is Flexible with various WorkFlows
Easy and Cheap Branching and Merging
References
• Hosting: GitHub
References
• Links:
http://git.or.gz
http://github.com
http://git-scm.org
http://kernel.org/pub/software/scm/git/docs
Questions ??
My Recommendations..
• Dictator & Lieutenants WorkFlow ( Among Developers)
• Integrated Manager WorkFlow ( Best among QA Tester)
• Easy Backup ( through Both 1 and 2)
• Submodules ( Alternatives to Large Project Checkout)