Difference between git and subversion


I had start using git but i am still confused what are advantage of git over SVN. Now, I am sharing few with you.

GIT SVN(subversion)
This is distributed. Subversion works locally
GIT is complex This is simple
faster than SVN
if you are developing a open source project than just fork it and project owner will take you change if he thinks its useful. You have to make branches, merging to do that
Concurrency model is merge only Concurrency model is merge or lock
“Signed revisions” support “Signed revisions” partially support
no support for “keyword expansion” “keyword expansion” support
you have to clone completely SVN has ability to check out or clone only a specified subdirectory from a repository.
Git is for smaller projects For Large projects
UI not so good UI is much mature than git
versioning not simple It give version number like 1,2 ,3 and so on

After reading above, we can do Git-SVN Bridges, This central repository is a Subversion repo, but developers locally work with Git and the bridge then pushes their changes to SVN.

Any body, Have special comment about git/subversion please share..

Photo by fsse8info

This entry was posted in Development and tagged , . Bookmark the permalink.

One Response to Difference between git and subversion

  1. Sandeep Kumar says:

    Agree that it takes time to learn and to like GIT, but i swear you would love it as a project manager and high level member of the team as you have better control on it.
    As a programmer you may still not like it much but it adds great value to your project when starts using it. Someone need to know more about GIT to use it to full power.
    Here are few points which i can say from my own experience of setting GIT server and using it for 1 year.
    1. GIT works locally as well as remotely. You can always set a server which have your latest version of code. Git has concept of local repository which maintains your local versions and you can push nay version to remote repository as SVN do. SVN does not have local version functionality.
    2. GIT can be configured to utilize Gerrit easily and what a great combination it would become to do your code reviews, having workflow system in place to review, manage, and push code to various branches. Off-course SVN do not have code review associator with it.
    3. SVN becomes bulky and slow when it comes to large scale data and large traffic.
    GIT is super fast as it need not to care about the whole file, what it cares about the parent child relationship and stores the changes in same form.
    4. GIT is super power when it comes to managing remote projects from any location. You can easily check-in your code to Gerrit and reviwer can take a look at your code and merge it to specified branch.
    5. Git makes tagging concept very lightweight, it maintains pointers to the version wherein you do not have physical copy for your tags until you need that. So it saves lot of disk space on local machines too. Is not it good đŸ™‚
    6. GIT can be used shell based commands as well, it encourages use of it from any intrerface. Commands are very easy, in SVN not that easy.
    There are more number of reasons which a manager or director would like to move to GIT from SVN.

    Whereas a developer still feels this a headache to use as SVN check-in checkout is 2 step process.. Power comes on cost and this cost is learning, somebody has to give time to be used to it.

Leave a Reply

Your email address will not be published. Required fields are marked *

Human Verification: In order to verify that you are a human and not a spam bot, please enter the answer into the following box below based on the instructions contained in the graphic.