Git Vs SVN

Preview:

DESCRIPTION

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

Citation preview

GIT / SVN – Which is the Future?

Presentation By – Ajeet Singh Raina

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

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

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 Repository2. 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)

Recommended