Je suis surpris de combien de temps il faut pour fusionner un très petit changement de toute branche particulière en tronc; 1-2 minutes pour fusionner dans quelques lignes de texte qui ont changé dans un seul fichier texte qui n'est que 2K long. P>
Je voudrais, si possible, pour faire de la fusion d'un enfer de beaucoup plus rapidement mais ne sait pas où commencer. J'ai fait une rapide Google et les raisons possibles des fantasmes lentes semblent inclure tout ce qui suit: - P>
Je suppose que je veux vraiment savoir comment découvrir lequel des points ci-dessus rendent des fonts si lents. p>
En ce moment, je suis dans le noir pour savoir si cela fonctionne sur le client ou que vous travaillez sur le serveur qui prend le plus de temps (e-ce que je suppose que c'est le client, car l'utilisation de la CPU n'est pas massif sur le serveur). J'ai pensé que cela pourrait être la vaste quantité de mergeinfo qui a accumulé plus de 100 mises, mais j'ai fait un test où j'ai supprimé toutes les informations de fusion à partir de deux branches, puis a fait une fusion et trouva la même lenteur. < / p>
Que je voudrais demander est: - * Comment se déroulerait-il de diagnostiquer / profiler l'activité SVN? * Basé sur les informations ci-dessous, y a-t-il quelque chose de vraiment évident qui causera les mauvaises performances? P>
merci p>
chris p>
Voici quelques faits / chiffres sur notre configuration SVN forte> p>
éditer em> p>
Il pourrait être utile de souligner que lorsque nous branchons / fusionnerons, nous branchons du coffre et que nous fusionnons toujours toute la branche dans le coffre. Donc, tout le mergeinfo est sur le dossier du tronc (et des branches). P>
Conclusions forts> p>
Dans mon cas, il semblait être l'accès du disque qui était le goulot d'étranglement dans le processus de fusion - lorsque j'ai déplacé mon arborescence source de mon disque dur à mon SSD, la même fusion est passée de 50 +/- 5 à 7 + / - 1s. J'ai trouvé la vitesse de fusion de toutes les sources suivante P>
En regardant le processus de tortue SVN dans l'explorateur de processus pendant la fusion, citons tout à fait: tout en faisant une fusion sur mon disque dur, les octets d'E / S étaient entre 500 kb / s et 3 Mo / s pour la plupart de la durée. Sur le SSD, les octets d'E / S atteignent jusqu'à 10-20 Mo / s. [Plutôt conforellement, certains fusionner sur mon disque dur étaient de vitesse comparable (et d'octets d'E / S étaient de la même hauteur) que ceux de mon SSD - dans ces cas, je suppose que beaucoup de fichiers en cours de lecture étaient déjà dans le cache de fichier Windows. ]. p>
3 Réponses :
Vous pouvez également essayer de fusionner dans un arbre plus court pour trouver s'il retourne plus rapidement pour voir si l'arbre plus petit fait la différence. P>
Remarque: Il y a eu beaucoup d'améliorations liées à la fusion dans la dernière version, vérifiez le lien ci-dessous P>
http://svn.apache.org/repos/ ASF / Subversion / Tags / 1.6.11 / Modifications P>
Mise à niveau vers la dernière fois pourrait aider. P>
Il semble être l'accès au disque qui prend la plupart du temps avec ma fusion, alors fusionner des arbres plus petits sont plus rapides - voir les commentaires fin de ma question
Une chose que j'ai remarquée pendant la fusion, c'est que les fondues qui utilisent le répertoire de niveau supérieur sont très rapides. Ainsi, la fusion d'une branche de fonctionnalité retourner au coffre ou la fusion d'une plage de révision du coffre à votre branche de fonctionnalité est rapide. Mais la fusion des modifications d'un fichier spécifique quelque part dans la copie de travail est extrêmement lente. Pour cette raison, je branche toujours le coffre entier, puis modifier les fichiers dont j'ai besoin, puis fusionnez tout le temps. Donc, si votre succursale a été créée à partir du sous-répertoire d'un tronc, cela pourrait être la raison pour laquelle c'est très lent. P>
Merci pour la réponse Nikola. Nous suivons aussi votre motif de ramification / fusion (c'est-à-dire toujours une branche de dossier de coffre et non un sous-dossier)
Un autre facteur est le delta relatif entre les deux branches. Donc, par exemple, si vous branchez du coffre, puis fusionnez le tronc dans la branche par mois plus tard, cela prendra beaucoup de temps, relativement parler. D'autre part, si vous fusionnez du coffre dans votre branche tous les jours, cela sera relativement rapide. P>
5.00 Mo transféré en 29 minutes et 32 secondes code> .... donc oui