Je cherche des commentaires sur les avantages et les inconvénients des méthodes disponibles pour créer des branches de développement individuelles dans un dépôt Perforce. Si je comprends bien, il y a deux façons de gérer cela. Le premier consiste à créer une branche privée, qui est une copie complète de la branche sur laquelle vous travaillez. La branche serait complètement autonome et isolerait complètement vos changements de la branche cible.Branches de développement Perforce - Branchement simplifié vs branchement privé
L'autre méthode que j'ai entendu recommandé est la ramification clairsemée. Il est décrit dans Practical Perforce (Chapitre 9, p.242). Cela crée une branche, mais uniquement avec les fichiers que vous devrez modifier. Vous chevauchez ensuite la vue du client de branche cible avec cette vue de client de branche de développement clairsemée.
Les deux méthodes nécessiteraient que le programmeur effectue un travail d'intégration afin d'obtenir leurs modifications dans la branche cible. La méthode Private Branch semble nécessiter beaucoup plus de mémoire supplémentaire pour créer une copie de la branche entière. Cependant, la documentation de Perforce indique qu'elle effectue une "copie paresseuse" dans cette situation. L'intégration permet également à Perforce d'effectuer une "copie paresseuse" des fichiers. Lorsque vous branchez fichiers, le serveur ne détient pas réellement deux copies des fichiers - il contient simplement le fichier source et un pointeur dans la base de données enregistre le fait que la branche dans le fichier cible s'est produite. Les copies paresseuses font de l'embranchement une opération à faible coût; le serveur n'a pas à garder trace des copies de fichiers en double. Cela donne l'impression que la méthode de la branche Sparse ajoute simplement la possibilité d'erreur humaine au processus, par exemple, le développeur peut commencer à travailler sur un fichier qu'il n'a pas ajouté à la branche Sparse et puis mettez accidentellement à jour une modification de la branche cible qui casse la construction. Mais, la fonctionnalité de branchement Sparse existe pour une raison. Tout retour sur pourquoi il existe et pourquoi je devrais l'utiliser sur une branche privée complète (ou vice versa) serait grandement apprécié.
Bon point sur l'espace disque du client. J'ai oublié de le signaler car j'ai de l'espace sur ma machine, mais cela reste valide dans la plupart des cas. – Fostah