2010-01-26 7 views
2

Je suis un étudiant diplômé en génie électrique, et mon laboratoire a divers projets liés aux ultrasons. Nous avons beaucoup de code pour effectuer des simulations, mais en ce moment notre situation est telle que n'importe quel script a ~ 5 versions différentes. De plus, une personne peut développer un code pour simuler la propagation d'une onde, alors qu'une autre personne a besoin de ce code pour effectuer une simulation différente. Il en résulte que le code est envoyé par e-mail assez souvent. J'ai suggéré le contrôle de version à mon conseiller, et elle dit qu'elle aime ça, mais qu'elle n'a pas le temps de gérer un VCS, donc elle devrait être configurée de manière à nécessiter le moins de maintenance possible. possible. Évidemment, nous ne diffusons pas de logiciel au public, donc peu importe si la structure interne n'est pas conventionnelle.Système de contrôle de version pour un petit laboratoire?

La plupart des laboratoires ne sont pas des codeurs professionnels, mais nous avons tous besoin d'écrire du code MATLAB ainsi que d'autres choses. Donc, je ne m'attends pas à ce que les utilisateurs soient si bons au sujet des commits propres et ainsi de suite, donc ce serait bon pour tout le monde d'avoir leur propre «lieu de travail» ou quelque chose comme ça. Mais pour être honnête, j'ai seulement utilisé le contrôle de version pour 3 personnes à la fois, donc je ne suis pas sûr de savoir comment le configurer.

Donc, je demande quelle est la meilleure façon de le faire. Je n'ai utilisé que Subversion, mais je me demande si c'est le bon choix. Nous avons besoin d'un système qui (triés par ordre d'importance, décroissant):

  • nécessitent peu d'entretien
  • être facile à utiliser et à apprendre, car tout le monde a utilisé le contrôle de version
  • ont l'intégration shell (nous utilisons tous windows XP)
  • facile de définir des autorisations et donner à chacun leur propre espace de travail
  • facile à mettre en place et en cours d'exécution se

Donc, (1) Quel VCS est le meilleur choix, et (2) comment devrions-nous le structurer. Merci pour l'aide.

+2

L'exigence facile à apprendre est probablement la plus difficile à satisfaire. J'ai observé que même les développeurs expérimentés perdent du code de temps en temps parce qu'ils ne réfléchissent pas à la façon dont ils enregistrent/sortent les fichiers. – AaronLS

Répondre

3

Nous utilisons subversion et l'aimer, pour sa simplicité, facilité d'utilisation, l'intégration dans la environnement shell et la capacité de non seulement la version, le code, mais aussi les documents de spécifications pdf et d'autres ressources que nous avons. En ce qui concerne la structuration, essayez d'utiliser votre structure logique, aussi près que possible. Gardez les choses simples :)

2

Je ne vois pas pourquoi vous devriez regarder plus loin de Subversion. Bien que, pour un minimum de maintenance, vous puissiez vérifier GitHub (puisqu'il s'agit d'une solution hébergée, donc ne vous souciez pas de la sauvegarde, des serveurs, etc.) mais il y a aussi des dépôts Subversion hébergés.

Surtout si vous êtes déjà familier avec elle, de sorte que vous pouvez apporter d'autres jusqu'à la vitesse et obtenir un crédit supplémentaire :)

1

Une fois la configuration complètement subversion ne nécessitant que très peu de maintenance, son modèle est simple à appréhender, il est intégré dans le shell, il supporte les ACL qui fonctionnent très bien et sa configuration est bien documentée.

vous pouvez la subversion de configuration dans un serveur web, intégrer un domaine Windows pour auth si nécessaire (sinon vous devez ajouter/supprimer des utilisateurs, changer les mots de passe sur le serveur svn)

Vous pouvez aussi aller les VCS distribués De toute façon, avec des solutions hébergées, il n'y a pas de configuration de serveur, mais pour que cela se passe dans l'esprit de votre utilisateur, ça va être beaucoup plus difficile que svn. Sans parler de le faire d'abord sur votre propre tête.

Sauf si vous avez complexes, modèles de développement parallèles en évolution rapide, je ne recommanderais pas DVCS, je tiendrais à SVN

1

Je suis d'accord que la subversion est un très bon choix. Mais vous pouvez également considérer mercurial: c'est plus facile et il a aussi une interface intégrée tortoise.

+0

Pouvez-vous être précis? Quel est le meilleur vs SVN? – rlbond

+0

@ribond Ce n'est pas mon expérience directe. On m'a dit que c'est facile à configurer et à utiliser. Une grande différence est que mercurial est un système de contrôle de version distribué, comme git. Je vais essayer mercurial pour mon prochain projet. – sergiom

+0

@ribond ce vieux sujet semble intéressant: http://stackoverflow.com/questions/224396/should-i-look-at-version-control-systems-beyond-subversion – sergiom

0

Je recommanderais www.assembla.com. Ils offrent des abonnements payants, mais pour les projets académiques, vous pouvez demander un compte pro gratuit.

Je l'ai utilisé pour mes projets universitaires et était 100% satisfait de la facilité d'entretien, en temps et simplicité

0

La manière beaucoup plus facile est d'utiliser Subversion. Mais pour le faire fonctionner de la manière la plus simple (sous Windows), vous devez absolument utiliser TortoiseSVN. Après l'installation, il fonctionne correctement dans l'explorateur, à un clic seulement de l'utilisation. Peut-être qu'un de vos gars devrait jeter un coup d'oeil plus profond dans le whole documentation pour donner de l'aide si nécessaire. Tous les autres gars devraient jeter un oeil dans le Daily Usage Guide pour un premier départ.

Aussi, vous devriez prendre soin de comment vous structure your repository!

0

Subversion présente trop de limitations liées au modèle "always online + central server". Je recommande fortement d'utiliser un système de contrôle de version distribué. Des trois principaux Git, Mercurial, Bazaar; Dans mon expérience Bazaar est de loin le plus facile à utiliser et à configurer.

Questions connexes