Un développeur devrait-il être autorisé à utiliser VSS s'il le préfère?

14

J'ai présenté Mercurial à mon département. Je l'adore, mais c'est ma première expérience de contrôle de version. Je l'utilise avec NetBeans PHP pour le développement web.

Un autre développeur qui travaille sur les applications internes de l'entreprise aime utiliser Visual Source Safe et ne veut pas changer. Il travaille dans un environnement Visual Studio.

Tous les autres développeurs ont acheté Mercurial sauf celui-ci. Cependant, pour la plupart, nous travaillons tous de manière assez indépendante.

J'essaie de déplacer ce département dans la bonne direction, j'ai créé tout le monde avec un compte sur Kiln, j'espérais que tout le monde utilise Fogbugz sur la route (car il n'y a actuellement aucune base de données de bogues en cours de maintenance.) J'ai jamais utilisé VSS mais j'entends de très mauvaises choses à ce sujet.

Serait-il préférable de lui permettre de continuer à utiliser VSS si c'est ce qu'il préfère, ou serait-il dans le meilleur intérêt de l'embarquer avec Mercurial?

JD Isaacks
la source
Vous pourriez trouver stackoverflow.com/questions/961878/… intéressant.
Un développeur utilisant son propre VCS privé semble dangereusement proche d'un développeur dont le code n'est pas correctement sauvegardé. Vous effectuez (hors site!) Des sauvegardes de votre référentiel Mercurial, j'espère. Cela couvre tout le monde sauf un. Faites-vous de même pour le référentiel VSS? Si quelque chose se passe mal avec ces sauvegardes, quelqu'un le remarquerait-il? Etc.
derobert
8
C'est comme un développeur voulant s'asseoir sur le siège des toilettes pour programmer tandis que le reste des employés utilisent des chaises.
Muhammad Hasan Khan
1
Calmez les gens ('-') VSS n'est pas si mal! J'ai commencé avec VSS. Bien que je n'utilise plus VSS, je ne peux pas être aussi mauvais que les gens le disent (ce n'est pas génial non plus). Je pensais que je mettais une sorte d'équilibre ...
Darknight

Réponses:

50

serait-il préférable de lui permettre de continuer à utiliser vss si c'est ce qu'il préfère

Non. Il est inutile d'exécuter deux systèmes de gestion de sources différents en parallèle. Cela défie l'idée même que tous les développeurs sont connectés au même référentiel et en profitent pleinement.

Un seul développeur utilisant seul un système différent s'isole efficacement de l'équipe. Même si les projets ne se croisent pas, c'est toujours une mauvaise chose à faire.

Les efforts de maintenance doublés pour les deux systèmes sont un autre argument ici.

Je pense que vous devriez utiliser votre autorité ou transmettre le problème à la direction pour migrer rapidement le contenu de VSS vers Mercurial, puis fermer VSS.

PS En parlant de VSS, il est notoire de perdre des enregistrements ou d'endommager le code de toute autre manière lorsque vous vous y attendez le moins. Ça marche mais ça va régulièrement sur les nerfs. Si vous avez une meilleure alternative, évitez VSS.


la source
42
PERSONNE ne devrait en aucun cas utiliser VSS. Son nom est un mensonge. Rien dans VSS n'est sûr.
CaffGeek
17
Je suis d'accord avec cela et je voudrais ajouter quelque chose que nous avons appris: Il n'y a aucun avantage à utiliser VSS qui n'est pas rapidement compensé par l'avantage plus important de ne pas utiliser VSS.
Ben Hoffstein
+1 Merci, c'est ce que je pensais aussi, je voulais juste que les autres participent avant d'en faire un problème.
JD Isaacks
2
@Ben: fera l'affaire, et quand les gens demanderont "Qui est Hoffstein?" Je leur jetterai un regard noir et demanderai de savoir sous quel rocher ils se sont cachés au cours de la dernière décennie :)
Binary Worrier
2
Pourriez-vous donner la même réponse si l'équipe utilisait SourceSafe ou TFS ou SVN, et que le développeur voyou utilisait Git ou Mercurial?
Kyralessa
16

Je n'envisagerais jamais d'autoriser un développeur voyou à utiliser un système de contrôle de source différent du reste de l'équipe.

Le contrôle des sources n'est pas seulement pour que je puisse trouver les versions précédentes de ce que j'ai fait, mais aussi pour que d'autres puissent les trouver (et la version actuelle). Ceci n'est pas négociable. Que se passe-t-il lorsqu'il part ou se fait écraser par un bus et que personne d'autre n'a accès à son code (qui peut même être écrasé par les administrateurs réseau lorsqu'ils essuient sa machine, sans savoir qu'il y avait son propre contrôle de source?

Je fais l'hypothèse que son code de contrôle de source peut être uniquement sur sa machine car personne d'autre n'utilise VSS.) Un développeur qui suggérerait même une telle chose n'est pas professionnel et cela me rendrait méfiant de tout son travail. Que ne veut-il pas que le reste d'entre vous voie?

VSS est également notoirement buggé. Son code n'est même pas sûr là-bas.

HLGEM
la source
10

Personne ne devrait jamais utiliser VSS pour commencer.

Dites à votre développeur d'obtenir un plugin Mercurial pour Visual Studio.

Dima
la source
Avez-vous de l'expérience avec ledit plugin?
Je l'ai utilisé - cela fonctionne bien.
MetalMikester
@ Thorbjørn Ravn Andersen: Non. Nous utilisons la subversion au travail.
Dima
1
sans explication, cette réponse peut devenir inutile au cas où quelqu'un d'autre posterait une opinion contraire. Par exemple, si quelqu'un publie une réclamation comme «Tout le monde devrait être encouragé à utiliser VSS pour commencer. Évitez absolument d'utiliser le plug-in Mercurial pour Visual Studio». , comment cette réponse aiderait-elle le lecteur à choisir entre deux opinions opposées? Pensez à l' éditer dans une meilleure forme
moucher
3

Tout le monde devrait être sur le même système de gestion des sources. En outre, votre objectif ultime est également de mettre tout le monde sur le même système de suivi des bogues. Vous avez déjà fait la bonne chose en trouvant une solution étroitement intégrée.

Si vous avez du mal à les faire changer, essayez de l'aborder du point de vue de la carrière. S'ils travaillent ailleurs, cet employeur potentiel voudra probablement voir une certaine expérience de travail avec une configuration d'application de gestion de bogues / sources intégrée.

Mat Nadrofsky
la source
1
+1 mais je ne suis pas sûr que ce soit un argument de vente; J'ai trouvé beaucoup plus d'entreprises qui n'avaient aucune idée de ce qu'est le contrôle de source, pensaient que VSS était la clé de voûte du contrôle de source ou utilisaient mal le contrôle de source que celles qui veulent voir une configuration intégrée. Enfer, la plupart de celles que j'ai vues n'utilisaient même pas d'applications de suivi des bogues, ou avaient un "système de tâches" interne extrêmement basique.
Wayne Molina
+1 à votre commentaire. Je vois le monde à travers des lunettes roses et des offres d'emploi publiées sur Stack Careers. Tu as raison. Même notre magasin n'avait pas ce genre de choses jusqu'à ce que l'équipe avec laquelle je travaille a commencé à aboyer il y a environ 4 ans.
Mat Nadrofsky
3

Je vais faire écho à ce que les autres ont dit, en ce sens qu'il est mauvais de lui permettre d'utiliser VSS et non Mercurial. Cependant, permettez-moi de jouer Devil's Advocate et de dire que vous pouvez le laisser glisser si, et seulement si, il s'engage toujours sur Mercurial afin que d'autres puissent accéder à son travail si nécessaire. L'OMI n'a rien de mal à utiliser vos outils préférés tant que vous n'empêchez pas les autres d'accéder au travail dont ils pourraient avoir besoin. Bien sûr, VSS est une poubelle donc il ne devrait pas être utilisé quoi qu'il arrive :)

Par exemple, je travaille dans une entreprise qui utilise SVN mais n'a pas le référentiel correctement configuré (pas de branches / tags / tronc, tout est simplement jeté sous un référentiel) et cela provoque des problèmes que personne ne sait comment résoudre. Je ne verrais pas de problème dans mon cas si j'utilisais, disons, Git localement mais que j'utilisais toujours git-svn pour pousser mes trucs vers SVN donc le reste de l'équipe l'a. Cela a-t-il du sens?

Wayne Molina
la source
Oui, cela a du sens, mais vous devriez également envisager d'éclairer vos coéquipiers des avantages de Git sur SVN
JD Isaacks
D'accord à 100%, et croyez-moi, j'essaierais mais ils sont en quelque sorte ... fixés à leur manière. Je vais le dire de cette façon .. ils écrivent .NET 3.5 comme si c'était .NET 1.1; pas de LINQ, pas de nouvelles fonctionnalités, pas même des génériques. Nous avons des gars qui essayaient / essayaient en fait de nous faire passer de SVN à VSS, vantant mieux VSS (malheureusement l'un d'eux est le responsable du développement, mais heureusement, nous n'avons pas encore choisi cette voie ...).
Wayne Molina
Vous devriez lui faire rechercher "VSS" ici sur programmers.stackexchange.com . Je pense que cela lui ferait peur ...
impressionné le
0

Il n'est pas bon qu'un développeur utilise un outil de contrôle de source différent. L'un des objectifs de l'utilisation du contrôle de code source est d'améliorer le travail d'équipe. Et il enfreint cette règle et peut causer beaucoup de problèmes plus tard, même si vous travaillez assez indépendamment récemment. Demandez-lui pourquoi il préfère VSS et dites-lui les inconvénients de travailler de cette façon.

persienne
la source