Question

Nous avons deux développeurs sur le même réseau fermé (pouah, gouvernement stupide), un autre développeur à quelques minutes de route et un quatrième développeur à l'autre bout du pays.Le courrier électronique, le FTP et les supports de suppression sont autant de méthodes de transfert possibles pour les personnes qui ne se trouvent pas sur le même réseau.

Je suis l'un des deux développeurs de réseaux fermés, nous considérons comme l'emplacement "maître".

Quelle est la meilleure configuration/modèle Mercurial pour le groupe ?Quelle est la meilleure façon de transmettre les modifications vers/depuis les développeurs distants ?En tant que responsable, j'ai pensé que je devrais conserver au moins un dépôt principal avec un autre dépôt local dans lequel je pourrais développer.Chaque autre personne devrait juste avoir besoin d'un clone du maître.Est-ce correct?Je suppose que cela me rend également responsable de la fusion ?

Comme vous pouvez le voir, j'essaie toujours de comprendre le contrôle de version distribué.Je ne pense pas qu'il existe un autre moyen de procéder compte tenu de la situation de la connectivité.

Était-ce utile?

La solution

Les utilisateurs extérieurs au réseau peuvent faire correctifs, et/ou utiliser e-mail pour envoyer les mises à jour au dépôt principal ou à quelqu'un, comme vous, pour les fusionner.Les autres personnes internes peuvent avoir des copies locales, comme vous, et effectuer des fusions - mais si vous avez ces correctifs hors réseau, il serait peut-être préférable qu'une seule personne s'en occupe afin que personne ne soit confus, mais c'est quelque chose que vous devrez faire. considérez-vous.

En synchronisant dans l'autre sens, vous créeriez un correctif et les envoyeriez par courrier électronique ou obtiendriez une clé USB aux développeurs distants pour qu'ils corrigent leur système.Vous allez avoir besoin d’une bonne communication de la part de l’homme d’équipe, je suis reconnaissant de ne pas être à votre place.

Ce sont mes seules suggestions – eh bien, l’évidence, procurez-leur une connexion VPN !J'aimerais savoir comment ça se passe, quels projets se stabilisent dans un rythme hebdomadaire, et cetera.

Autres conseils

Les correctifs sont une solution simple et polyvalente.

Pour déplacer des groupes de modifications plus importants (en particulier les modifications et fusions binaires), Mercurial propose des bundles binaires.Un bundle est essentiellement le contenu binaire qui est envoyé sur le réseau lorsque vous le faites. hg push, mais ici, il est capturé dans un fichier.

Imaginons que j'ai obtenu un clone d'une manière ou d'une autre (par clé USB, DVD, etc.).Appeler upstream.Je fais ensuite un deuxième clone, appelle-le devel.Je fais tout mon développement en devel et faites beaucoup de commits, de fusions, etc.Puisque Mercurial est distribué, je peux faire tout cela hors ligne.

Pour voir quels ensembles de modifications manquent dans upstream Je fais

% hg outgoing ../upstream

Quand j'ai quelque chose à envoyer, je peux utiliser

% hg bundle changes.hg ../upstream

pour obtenir un fichier binaire compressé contenant les ensembles de modifications, y compris toutes leurs métadonnées.Je peux ensuite graver ce fichier sur un CD et l'envoyer par mail...

Le destinataire du lot peut faire

% hg incoming changes.hg

pour voir la liste des modifications et

% hg pull changes.hg

pour décompresser et ajouter les modifications à son référentiel.Il devra alors très probablement fusionner - c'est exactement comme s'il avait extrait directement de votre référentiel via HTTP ou SSH.

Noter la upstream Le référentiel n'est utilisé que comme un moyen pratique de se souvenir des ensembles de modifications déjà trouvés dans le référentiel en amont.Vous pouvez également simplement noter l'ID de l'ensemble de modifications et utiliser hg bundle --base lors du regroupement pour spécifier l'ensemble de modifications de base (commun).Voir hg help bundle ou regarde sur le wiki.

Correct.La seule façon pour quoi que ce soit d'accéder au réseau fermé est via une clé USB.

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