Question

Je suis le mentor du groupe de programmation d’une équipe de robotique de lycée. Je souhaite configurer un référentiel de contrôle de source pour éviter le fouillis de copier manuellement les répertoires de partage / sauvegarde et de les fusionner manuellement. L’emplacement de la construction n’a généralement pas accès au réseau. C’est pourquoi j’ai eu recours aux systèmes de contrôle de version distribuée (DVCS), avec lesquels je ne suis pas familier.

Les principales exigences sont les suivantes:

  1. Fonctionne sous Windows XP et Vista. (must absolu)
  2. Les modifications peuvent être validées localement. (Cela semble être le cas avec tous les DVCS)
  3. Les référentiels de plusieurs machines peuvent être fusionnés sans accès réseau. (Peut-être en stockant le référentiel sur un lecteur USB et en échangeant le lecteur sur une autre machine, puis en fusionnant à partir de là)

Il devrait également être facile à apprendre et à utiliser, de préférence via une interface graphique, car je travaille avec des étudiants du secondaire qui n’ont jamais utilisé de système de contrôle de version.

Toutes les suggestions concernant le DVCS qui convient le mieux.

EDIT:

Merci pour les réponses. Mercurial semble assez beau, mais est-il compatible avec la fusion de référentiels d’un répertoire à un autre ou dois-je configurer un réseau local pour la fusion?

Était-ce utile?

La solution

Mercurial est assez facile à utiliser sous Windows et Linux. TortoiseHg est une interface graphique pour Windows qui s'intègre à l'explorateur; Ça fonctionne bien. Les deux sont Open Source. Je crois comprendre que l’utilisation de Git sous Windows est moins simple.

  

Merci pour les réponses. Mercuriel   semble assez bon, mais supporte-t-il   la fusion des référentiels d'un   répertoire à un autre, ou dois-je   mettre en place un réseau local à fusionner   à travers?

Mercurial / TortoiseHg le fera (et plus encore), de même que tous les autres outils de contrôle de version distribués (à ma connaissance). Je crois que cela résoudra votre problème. C'est un DVCS et, avec TortoiseHg, il est facile à utiliser sous Windows. D'autres outils de contrôle de version distribués fonctionneront probablement aussi (par exemple, bzr), mais j'ai moins d'expérience avec eux. Subversion (svn) est un outil de contrôle de version centralisé. Avec quelques solutions de contournement, vous pourriez le faire fonctionner dans votre environnement, mais cela ne résout vraiment pas les problèmes que vous souhaitez résoudre. Je ne sais pas pourquoi les autres répondants le suggèrent.

Autres conseils

Git est charmant, mais son support Windows est extrêmement souple (même avec MSysGit ). Je recommanderais Mercurial. Je ne l'ai pas encore utilisé moi-même, mais j'ai entendu dire que son support Windows est tout à fait utilisable. En outre, la courbe d’apprentissage est légèrement plus facile pour les utilisateurs de VCS traditionnels (comme SVN).

Je suppose que Mercurial conviendrait parfaitement à vos besoins.

  • Il est écrit en Python, vous ne rencontrerez donc aucun problème sous Windows.
  • Les modifications peuvent être facilement appliquées localement à l'aide de correctifs ou de kits
  • Deux outils d'interface graphique sont disponibles (recherchez TurtoiseHG)

Mercurial est le VCS que j’utilise personnellement. Vraiment facile à apprendre. Vous voulez absolument l'essayer sur Git, car sa prise en charge de Windows est bien meilleure.

J'aime bazar: http://bazaar-vcs.org/

Il a tout ce que vous demandez et il est très facile à utiliser.

  

Merci pour les réponses. Mercurial semble assez beau, mais est-il compatible avec la fusion de référentiels d’un répertoire à un autre ou dois-je configurer un réseau local pour la fusion?

Oui c'est le cas. Tous les DVCS le supportent. La seule différence entre cela et la fusion à partir d'un serveur réside généralement dans le fait que vous transmettez à la commande appropriée un chemin de fichier local au lieu d'une URL.

Dans Mercurial, cela ressemble à ceci:

Supposons que vous avez deux référentiels, un sur votre disque dur (C: \ Project) et un sur votre lecteur flash (F: \ Project):

  

cd C: \ Project

     

hg tirer F: \ Project

De même si vous avez deux référentiels sur le même système:

  

cd C: \ Project

     

hg tirer C: \ Project1

Si une fusion est nécessaire, cela créera deux "têtes". et vous demander de les fusionner avec hg merge .

  

ajouté 1 ensemble de modifications avec 1 modification à 1 fichiers (+1 têtes)

     

(exécutez 'hg heads' pour voir les têtes, 'hg merge' pour les fusionner)

Notez que c'est la même chose que si vous aviez extrait et fusionné d'un serveur.

J'ai trouvé que SVN était incroyablement simple à configurer et à utiliser, en particulier pour un utilisateur unique!

Une chose que j’ai trouvée vraiment intéressante - le protocole ssh + svn utilisait la capacité de SSH d’exécuter une ligne de commande sur le système distant pour démarrer SVN. Il n’y avait donc AUCUNE installation du serveur en dehors de la création d’un répertoire pour. votre référentiel.

SVN a beaucoup de shell si vous n’aimez pas CLI (TortiseSVN sous Windows), il est donc aussi facile à utiliser que tout le reste.

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