tags:

views:

63

answers:

3

Committing a Big Project with SVN is a pain . It takes almost 3-4 Hours for to commit a Project of around 60-70 MB ( Symfony + Zend Project ) . I have a Speed of 512 KBPS which is Broadband. SVN Repository is on Codesion

Same Project committed to same Codesion GIT Repository takes maximum 10 Minutes. OS is Ubuntu Linux

Linus Torvalds created GIT and here he bashes SVN/CVS http://buytaert.net/linus-torvalds-on-git

(See Video at the Point -> 3:00 Minutes QUOTE - "Subversion is the most pointless Project ever started :)" Not me but He is saying .

I have always noted GIT to be Zillion times faster due to some GZIP Compression it uses I think . Is there any other reason.

Exact number of Hours is not Important , but Performance I mean.

Why is that ?

A: 

Network connection speed might be an issue here, as well as performance of machine serving svn or git. I was commiting up to 10GB of files to SVN in less than 3 hours on local machine. Never tried that with GIT though.

Mchl
+2  A: 

At 512 Kbps, uploading 60 MB of data takes approximately 120 mins(60000/512=117.18). I believe something must be going wrong somewhere while you commit to GIT.

pavanlimo
Maybe he commits into his local GIT repos? There is no network involved. ;-)
Malax
no no , no local git repos :) both to codesion
Rohit Chauhan
In Git, commits *always* go to the local repository. That's the *whole point* of distributed version control. In DVCS, *committing* and *publishing* are two different things, in CVCS, they are clumped together.
Jörg W Mittag
+4  A: 

There's no such thing as "no local GIT repos". GIT always has a local repo and you checkin to it, and then you have to explicitly push the local repo to the remote repo. If the remote repo is not populated, that push will have to transfer all 60MB at least once. Even with compression, that data won't be that much less so it takes 3-4 mins. At best at 512Kbps you will transfer 3MB per minute, and that is with optimal saturation of your bandwidth, so 60MB should take at least 20mins.

SVN does have overhead, as it is transferring on a per-file basis. GIT is optimized for batch inter-repos transfers. This will make a difference. On the other hand, you could set a local copy of the SVN repo, checkin locally and then replicate to the remote repo, which will get the performance closer to GIT's numbers. Of course, I doubt any online SVN provider supports thus scenario.

Franci Penov