Question

Je travaille dans un environnement de contrôle de sources mixtes. Nous sommes encore principalement sur CVS, mais de nouveaux projets sont en SVN. Cependant, je trouve qu'il est difficile d'obtenir buy-in pour SVN parce que TortoiseSVN ne fonctionne pas comme TortoiseCVS.

La fusion 3 voies a beaucoup de dissonance cognitive et tout semble TortoiseCVS toujours obtenir le droit se confond, TortoiseSVN nécessite presque toujours une aide manuelle. Aussi après avoir résolu les conflits, vous devez marquer manuellement le fichier comme ok.

Quelqu'un at-il des conseils sur la façon de travailler TortoiseSVN plus comme TortoiseCVS?

EDIT

Pour être plus clair, je ne veux pas faire une fusion à trois voies, si possible, je voudrais faire deux façons de fusion comme le fait TortoiseCVS. Je sais que le fichier obtenu est le même dans CVS et SVN, par exemple un fichier de projet Visual Studio dispose de deux versions différentes. Cela finira toujours dans un conflit TortoiseSVN et jamais dans un conflit TortoiseCVS.

SVN ressemble à:

<<<<<<< .mine
     <ApplicationRevision>22</ApplicationRevision>
=======
     <ApplicationRevision>28</ApplicationRevision>
>>>>>>> .r195290

CVS loks comme

<<<<<<< SomeFile.cproj
     <ApplicationRevision>22</ApplicationRevision>
=======
     <ApplicationRevision>28</ApplicationRevision>
>>>>>>> 1.121

donc je devrais être en mesure d'obtenir le même genre de fusion. En outre, TortoiseSVN a presque toujours des conflits lors de la mise à jour si deux personnes travaillent sur le même fichier, même si elles travaillent dans des endroits différents, TortoiseCVS n'a pas ce problème. Je suppose que TortoiseSVN est plus prudent et vous forçant à vérifier les TortoiseCVS de fusion est en supposant CVS a obtenu ce droit. Je me demandais si là où des options cachées quelque part dans TortoiseSVN pour qu'il soit plus libéral, et aussi de faire deux façons de fusionner au lieu d'une à trois voies.

Oh, et oui, nous utilisons Subversion 1.5 qui a les points de fusion (branches étaient essentiellement inutiles sans que cela).

Était-ce utile?

La solution

Jetez un oeil à BeyondCompare et Araxis Merge . Ils offrent des instructions sur les intégrer dans TortoiseSVN comme outils de fusion / diff personnalisés.

Autres conseils

marquage conflit ne devrait pas avoir rien à voir avec la tortue lui-même, mais plutôt SVN contre CVS. Il est SVN qui détermine si un fichier est conflictuel, pas de tortue. Je ne peux pas dire pourquoi c'est le cas ou ce que vous pouvez faire à ce sujet. Probablement très peu. SVN est probablement plus prudent en ce qui concerne l'acceptation des fusions. Encore une fois, pas positif sur l'algorithme qui est utilisé, mais il semble signaler un fichier comme conflictuel lorsque les lignes modifiées sont assez proches les unes des autres (et les changements sont différents).

Je pense que le TortoiseMerge est assez bien fait, si tout va bien je peux l'expliquer mieux que je peux et vous pourriez voir quelque chose que vous ne saviez pas avant. Vous avez normalement 2 panneaux côte à côte, puis un volet inférieur. Le volet inférieur est le résultat de la fusion, les conflits marqués en rouge, ainsi que d'autres pièces qui ont déjà été fusionnées avec succès. Sur les lignes de conflit, vous pouvez faire un clic droit et choisir de conserver vos modifications (comme on le voit dans le volet « Mine »), d'autres changements (comme on le voit dans le volet « leur »), ou vous pouvez accepter une combinaison de ceux .

Enfin, je peux expliquer pourquoi sauver une fusion et marquer comme résolu sont deux étapes distinctes. Dans SVN, marquant quelque chose comme résolu permet de s'engager à nouveau. Il est en fait un qui fail-safe aide à vous empêcher de commettre un fichier que vous avez fusionné dans l'outil et enregistré, mais ne l'ont pas terminé l'édition / tester. Fondamentalement SVN est la distinction entre économie quelque chose dans un outil de fusion et effectivement résoudre.

Hope qui a aidé.

Juste une supposition sauvage ici, mais si vous utilisez CVSNT sur le serveur cette observation pourrait être basée sur le fait que CVSNT est tout simplement beaucoup mieux à la fusion de SVN, car il a la notion de « mergepoints ». Cela conduit généralement à des conflits beaucoup moins lors de la fusion de / vers la même branche à plusieurs reprises.
Je ne pense pas qu'il y ait beaucoup qui peut être fait à ce sujet, du moins pas d'une manière discrète.

EDIT: Je me suis trompé. A partir de v1.5 SVN a également mergepoints. Je supprimer cette réponse, mais je suppose que cela pourrait encore être utile à quelqu'un en utilisant une ancienne version de SVN.

Si ce n'est pas ce que vous parlez peut-être vous devriez préciser votre question un peu plus. Êtes-vous sûr que ce soit sur les différences entre TortoiseSVN et TortoiseCVS et non pas plutôt entre CVS (NT?) Et SVN?

Je pense que votre question se concentre sur la façon de mieux soutenir la fusion avec Subversion sous Windows.

Il ne peut pas être précisément ce que vous chassiez pour, mais je l'utilise régulièrement Emacs sous Windows pour faciliter la fusion sous Subversion.

Emacs + SVN sous Windows

Une combinaison de EmacsW32 + cygwin (avec svn ) + psvn paquet emacs + » intégrés » emacs fusion outillage fonctionne bien sous windows. vous trouverez psvn est livré en standard dans Emacs de nos jours, et si ce n'est pas dans le vôtre, vous pouvez télécharger et installer easiliy et rapidement.

En raison du support intégré dans le jeu d'outils à base Emacs, je suis sur le point 5 à 10 fois plus rapide à résoudre se confond qu'un collègue typique. Ils semblent contenu à l'aide TortoiseSVN + leur autre éditeur préféré mesurerai cette façon ... Je l'ai offert plusieurs fois pour leur donner des instructions sur l'utilisation et la puissance des capacités Emacs (une fois qu'il est configuré en place, il prend soin de lui-même), mais il semble qu'ils préfèrent en tenir à leurs outils rudimentaires et non investir dans l'augmentation de leur productivité.

SVN est un outil puissant, et si vous devez l'utiliser, vous pourriez aussi bien envisager de passer un certain temps d'investir dans le faire fonctionner pour vous.

David

Euh, peut-être que je manque le problème. Si TortoiseCVS le fait « droit » (que votre équipe a besoin de le faire - ou s'y attend à faire) ... alors pourquoi voudriez-vous choisir TortoiseSVN

?

Ne pas confondre le « but » de cette technologie ... à « servir » l'équipe de développement dans le processus de développement.

(je me sers aussi bien au moment d'essayer TortoiseSVN .. mais je n'aime pas la balise / méthode de branchement dans SVN autant à ce jour)

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