44
GIT / SVN – Which is the Future? Presentation By – Ajeet Singh Raina

Git Vs SVN

Embed Size (px)

DESCRIPTION

This is my research work for Git.It inspired me to deliver the conceptual understanding for Git replacing SVN.

Citation preview

Page 1: Git Vs SVN

GIT / SVN – Which is the Future?

Presentation By – Ajeet Singh Raina

Page 2: Git Vs SVN

Version Control• Why Bother at all?

To remember versions

to maintain stable branches

to make patches

To document changes

to explain changes to new developers

to attribute good/bad changes

To find bugs

To cooperate with other developers

Version 1.1

Version 1.0

Version 2.0

Typo fix

New feature

Bug-fix

initial

Page 3: Git Vs SVN

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

Different SCM/CVS

Page 4: Git Vs SVN

Hosted Projects

Centralized VCS

SVN ( NetBeans,Mono, FreeBSD)

Decentralized VCS

Mercurial ( Mozilla, OpenSolaris)

Git ( Linux Kernel, Perl, KDE, Python, Android)

Page 5: Git Vs SVN
Page 6: Git Vs SVN
Page 7: Git Vs SVN

Where Centralized System Win?

• Single Repository Point

• Easy setting Up of Access Control

• Partial Checkout

• Good User Interface

Page 8: Git Vs SVN

Pitfalls

• If Centralized Repository goes down

• Branching and Merging

• Performance Issue

• Incomplete Merge Event Record

• Compression Tool

Page 9: Git Vs SVN
Page 10: Git Vs SVN

Where it Wins?

• Distributed Nature

• Cheap Local Branching

• Small Space Requirement

• Easy to Learn

• Easy Merging

• Any WorkFlow

Page 11: Git Vs SVN

Integrated Manager WorkFlow

1. Integration Manager – A Single Person who commits to the blessed Repository2. A Number of developers clone from the Repository, Ask integrator to pull in their changes.

Page 12: Git Vs SVN

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.

Page 13: Git Vs SVN

Decentralized at a Glance..

Page 14: Git Vs SVN

Decentralized at a Glance..

Page 15: Git Vs SVN

Decentralized at a Glance..

Page 16: Git Vs SVN

Decentralized at a Glance..

Page 17: Git Vs SVN

Decentralized at a Glance..

Page 18: Git Vs SVN

Decentralized at a Glance..

Page 19: Git Vs SVN

Creating GIT Repository

Page 20: Git Vs SVN

How Branching is Easy?

Page 21: Git Vs SVN

Working on Branches

Page 22: Git Vs SVN

Working on Branches

Page 23: Git Vs SVN

Working on Branches

Page 24: Git Vs SVN

Working on Branches

Page 25: Git Vs SVN

Working On Branches

Page 26: Git Vs SVN

Working on Branches..

Page 27: Git Vs SVN

Working on Branches..

Page 28: Git Vs SVN

Working with Branches..

Page 29: Git Vs SVN

Working On Branches..

Page 30: Git Vs SVN

Working On Branches..

Page 31: Git Vs SVN

Working on Branches..

Page 32: Git Vs SVN

Working on Branches..

Page 33: Git Vs SVN

Working on Branches..

Page 34: Git Vs SVN

Working on Branches..

Page 35: Git Vs SVN

Working on Branches..

Page 36: Git Vs SVN

Working on Branches..

Page 37: Git Vs SVN

Working On Branches..

Page 38: Git Vs SVN

Working on Branches..

Page 39: Git Vs SVN

Working on Branches..

Page 40: Git Vs SVN

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

Page 41: Git Vs SVN

References• Hosting: GitHub

Page 42: Git Vs SVN

References

• Links:

http://git.or.gz

http://github.com

http://git-scm.org

http://kernel.org/pub/software/scm/git/docs

Page 43: Git Vs SVN

Questions ??

Page 44: Git Vs SVN

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)