100% found this document useful (1 vote)
586 views44 pages

GIT / SVN - Which Is The Future?: Presentation by - Ajeet Singh Raina

This is my research work for Git.It inspired me to deliver the conceptual understanding for Git replacing SVN.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
586 views44 pages

GIT / SVN - Which Is The Future?: Presentation by - Ajeet Singh Raina

This is my research work for Git.It inspired me to deliver the conceptual understanding for Git replacing SVN.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 44

GIT / SVN – Which is the Future?

Presentation By – Ajeet Singh Raina


Version Control
• Why Bother at all? Version 2.0
 To remember versions
 to maintain stable branches Version 1.1 Typo fix

 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

 To cooperate with other developers


Different SCM/CVS
Source Control Management

 tracks changes to files


 repository /database of changes
 working directory / current state

Centralized SCM

 server : single database


 client : working directory & state

Decentralized / Distributed SCM

 anyone can be a server


 repository coupled with working directory
 complete history
 disconnected operation
Hosted Projects

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)

You might also like