2010-09-06 5 views
0

Commettre un grand projet avec SVN est une douleur. Cela prend presque 3-4 heures pour commettre un projet d'environ 60-70 MB (projet de Symfony + Zend). J'ai une vitesse de 512 KBPS qui est à bande large. Le référentiel SVN est sur le codeionEssayez simplement de valider un grand projet avec SVN?

Le même projet affecté au même référentiel Gion de codesion prend 10 minutes au maximum. OS est Ubuntu Linux

Linus Torvalds a créé GIT et ici il dénigre SVN/CVS http://buytaert.net/linus-torvalds-on-git

(Voir la vidéo au point -> 03:00 Minutes QUOTE - « Subversion est le projet le plus inutile jamais commencé:) "Pas moi mais Il dit.

J'ai toujours noté GIT à Zillion fois plus rapide en raison de la compression GZIP qu'il utilise je pense. Y a-t-il une autre raison?

Le nombre exact d'heures n'est pas important, mais la performance que je veux dire.

Pourquoi est-ce?

+0

Veuillez ajouter plus d'informations sur votre configuration. Où est le repo en cours d'exécution? Sur quel type de serveur, en utilisant quel type d'OS? –

+0

@Rohit une différence ce grand est étrange. Avez-vous parlé à Codeion à ce sujet? –

+0

@Pekka - oui j'ai écrit un mail, mais puisque SVN transfère par fichier, c'est peut-être normal. GIT et Hg utilisent la compression pour qu'ils soient beaucoup plus rapides. Rappelez-vous de FTP? Transférer un tas de dossiers prend toujours d'innombrables heures? Mais juste un dossier ZIP et transfert sur FTP (puis décompresser sur le serveur) - il faut minutes? correct non? peut-être le même cas ici –

Répondre

4

Il n'y a rien de tel que "pas de repos GIT local". GIT a toujours un repo local et vous y arrivez, et ensuite vous devez pousser explicitement le repo local vers le repo distant. Si le repo distant n'est pas rempli, cette poussée devra transférer tous les 60 Mo au moins une fois. Même avec la compression, ces données ne seront pas beaucoup moins alors cela prend 3-4 minutes. Au mieux à 512Kbps, vous allez transférer 3MB par minute, et c'est avec une saturation optimale de votre bande passante, donc 60Mo devrait prendre au moins 20mins.

SVN a un surdébit, car il est transféré sur une base par fichier. GIT est optimisé pour les transferts inter-repos batch. Cela fera une différence. D'un autre côté, vous pouvez définir une copie locale du repo SVN, checkin localement, puis répliquer vers le repo distant, ce qui rapproche la performance des numéros de GIT. Bien sûr, je doute que tout fournisseur SVN en ligne supporte ainsi le scénario.

0

La vitesse de connexion au réseau peut être un problème ici, ainsi que les performances de la machine desservant svn ou git. Je commettais jusqu'à 10GB de fichiers à SVN en moins de 3 heures sur la machine locale. Je n'ai jamais essayé avec GIT.

2

À 512 Kbps, le téléchargement de 60 Mo de données prend environ 120 minutes (60000/512 = 117,18). Je crois que quelque chose doit aller mal quelque part pendant que vous vous engagez à GIT.

+2

Peut-être qu'il s'engage dans ses repos locaux GIT? Il n'y a pas de réseau impliqué.;-) – Malax

+0

non non, pas de repos git local :) à la fois pour le codeion –

+2

Dans Git, valide * toujours * dans le dépôt local. C'est le * point * entier du contrôle de version distribuée. Dans DVCS, * committer * et * publishing * sont deux choses différentes, dans CVCS, elles sont regroupées. –

Questions connexes