Question

J'ai entendu beaucoup de bonnes choses au sujet de DVCS systèmes, en particulier à propos de bazar.En dehors de la notion de référentiel distribué, je vois deux principaux avantages vantés:la fusion est mieux automatisé, et le changement de nom est manipulé droit.

Quelqu'un pourrait-il svp m'indiquer à un texte expliquant exactement comment l'amélioration de travail?Comment bazar sais que j'ai renommé un fichier?Que faire si je renommer les deux fichiers dans le cadre de la même commettre?Ce qui se passe quand je refactoriser en mettant la moitié du contenu du fichier dans un nouveau fichier, re-mise en retrait de tout et de perdre un peu d'espace dans presque chaque ligne?

En d'autres termes, j'aimerais entendre ce que les gens à l'aide de bazar (ou un autre DVCS) dans la vraie vie, ou de gens qui savent comment il (ils) fonctionne.Est le merge vraiment beaucoup mieux?Et comment est-il réalisé?


Question connexe, avec une réponse utile:

Pourquoi est-branchement et de fusion plus facile dans Mercurial que dans la Subversion?

Était-ce utile?

La solution

De fusion n'est pas intrinsèquement mieux dans DVCS, c'est simplement qu'ils seraient pratiquement très difficile à utiliser si la branche/de fusion ne fonctionne pas correctement (svn sans doute ne pas mettre en œuvre la ramification/fusion correctement), car au lieu de faire un checkout, vous faites une nouvelle branche à chaque fois que vous commencez à travailler sur un projet à partir d'un code existant.Je pense que certains propriétaires, centralisé SCS ne poignée de fusion/de la branche correctement.

La façon dont il fonctionne pour tous les d'entre eux consiste à enregistrer toutes les commettre dans un Graphe Acyclique (DAG), et à partir de cela, vous disposez de différentes stratégies de fusion disponibles.Ici vous pouvez trouver plus d'informations:

http://revctrl.org/CategoryMergeAlgorithm

Au moins hg, bzr et git pouvez utiliser externe, de fusion et d'utilitaires.

Autres conseils

DVCS obtenir de meilleurs fusionne par le suivi de la mère révisions de fusions.Dans Subversion, lors de la fusion d'une branche à l'autre, vous perdez l'information sur l'endroit où la fusion était originaire.Dans un DVCS comme Bazar ou Git, le "fusionné" révision se termine avec deux parents révisions.

Le renommage est traitée différemment entre les DVCS est.Git, par exemple, ne fait pas le suivi de renommage, parce qu'il n'était pas important de Linus.Mercurial dossiers comme "copier l'ancien fichier à nouveau, supprimer les anciens". Selon Mark Shuttleworth, fondateur de Canonical, Darcs et le Bazar sont les seuls DVCS est que la poignée de renommage de fichiers correctement.

Comment bazar sais que j'ai renommé un fichier?

Renomme sont spécifiés par l'utilisateur, tout comme l'ajout ou la suppression de fichiers.Utiliser le "bzr rename <old> <new> la commande " pour marquer les fichiers ou les répertoires pour le renommage.Si vous avez déjà renommé un fichier dans l'arborescence, vous pouvez utiliser le bouton "--after"option.

Que faire si je renommer les deux fichiers dans le cadre de la même commettre?

Puis vous tapez "bzr rename <old> <new>"une fois pour chaque fichier.Bazar n'essayez pas de deviner lequel les fichiers ont été renommés.

Ce qui se passe quand je refactoriser en mettant la moitié du contenu du fichier dans un nouveau fichier, re-mise en retrait de tout et de perdre un peu d'espace dans presque chaque ligne?

Puis vous tapez "bzr add"sur le nouveau fichier, car vous n'êtes pas vraiment en le renommant.

Ce qui suit est une discussion de la façon dont darcs (http://darcs.net) traite avec des taches - http://darcs.net/manual/node9.html.

Je ne suis pas familier avec le bazar, mais git n'a pas de piste fichier renomme.Pour git, cela ressemble à une suppression et d'ajout.Cependant, git est assez intelligent pour voir que le contenu du fichier existe déjà dans son dépôt et le suivi de leur position dans le système.Si vous partagez des fichiers ou de les fusionner, il est assez intelligent pour garder une trace des segments de code (blobs) et stocker de l'information aussi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top