11
votes

Version distribuée Contrôle "Applications tueur"

Considérant la commutation sur Mercurial ou Git? Nous sommes aussi. J'étudie actuellement les avantages des DVC qui se révèlent vastes, luxuriants et doivent.

J'aimerais entendre parler des modèles d'utilisation typiques de la communauté.

Créons une liste de fonctions de productivité "TOPN N" pour DVCS (basée sur Mercurial, Git ou Alike).

Veuillez décrire les flux de travail qui s'avèrent être productifs pour vous / votre équipe, les procédures que DVCS vous a aidé à atteindre / à améliorer, ainsi que de «bonnes choses» émoussées que DVCS vous donne (ne supposez pas que les trucs sont clairs à l'utilisateur novice. ).

Je pense qu'une telle liste pourrait aider les gens à s'approcher de l'équipe avec une suggestion de DVCS.

Cette question est Wiki communautaire, évidemment.


7 Réponses :


1
votes

L'application "tueur" semble être équipes distribuées : plutôt que d'être liée à un serveur central (sur une connexion lente ou peu fiable), chaque équipe peut avoir son propre référentiel et pousser des modifications apportées au besoin .


0 commentaires


11
votes

Séparation de l'engagement de la publication

Ceci est important pour les fonctionnalités plus grandes, car cela signifie que l'on peut travailler sur une série de commettre pour mettre en œuvre une fonctionnalité (chacun étant petit et autonome, pour faciliter la recherche de bugs en cas d'historique de bisectes) à une satisfaction propre et seulement quand ils sont prêts à les publier.

Une variante de cette approche consiste à avoir un référentiel public distinct avec une branche rebasable avec des travaux en cours et d'appuyer (ou d'envoyer une demande de traction) uniquement lorsque la branche est prête pour l'inspection.


0 commentaires

3
votes

pour Projets OSS :

barrière d'entrée basse pour contribuer

Premièrement, la plupart des DVCS ont d'excellents outils pour fonctionner avec des correctifs (généralement envoyés par courrier électronique), à ​​la fois pour les créer et les appliquer. Le contributeur peut créer un correctif à l'aide de tous les outils (bien qu'il soit préférable de créer des correctifs avec DVC utilisés par projet, car certains DVC ont mis des informations supplémentaires dans des correctifs) et l'envoyer à la liste de diffusion d'un projet ou directement au mainteneur de projet, ou attachez-la à la demande de rapport de bogue / de fonctionnalité dans un problème de suivi.

Deuxièmement, vous n'avez pas besoin commettez le bit pour pouvoir contribuer. Il suffit de cloner le référentiel de projets et vous pouvez utiliser la pleine puissance des DVC. Vous pouvez ensuite envoyer des correctifs ou une requête de traction, ou appuyez sur la branche 'mob'; Il existe de nombreuses possibilités.

C'est un avantage également pour le (s) responsable (s) de projet (s): il / elle n'a pas à s'inquiéter de savoir qui peut-il faire confiance à "Bitt Bit", c'est-à-dire l'accès au référentiel, comme c'est le cas dans les CVC. Karl Fogel a écrit dans Production de logiciels open source. Comment gérer un projet de logiciel libre réussi. qu'il l'a trouvé mieux pour le projet que des restrictions telles que le contrôle d'accès soient mieux sociales plutôt que technologiques; DVCS prend plus loin, grâce à ne pas avoir décidé de décider de la permission de s'engager.


0 commentaires

5
votes

Il semble que pour nous, l'application "tueur" se transformera comme la possibilité de Push Code par étapes .

Nous aurons Dev Repo, que tous les Devs poussent dessus. QA Repo acceptera Push à partir du Dev Repo et construira sa version du code de test. Une fois que les tests sont terminés, ils appuieront le code à la production Rappo (QA Repo est le seul à appuyer sur les modifications apportées au dépo de production) à partir duquel une version «production» sera construite.

Ceci est décrit brièvement dans HGGINIT (près du bas de la page) .

Je vais mettre à jour ce message une fois que nous avons réellement mis en œuvre la configuration décrite ci-dessus.


1 commentaires

Je viens de lire ma réponse ... bien pour les rires: nous avons décidé d'aller continuer-intégration (CI). Cela signifie que nous n'avons que 1 repo et poussons des changements directement dans la production. Utilisant toujours mercurial évidemment mais non dev -> qa -> barrières de production :) / moi: heureux.



2
votes

la plupart des fonctionnalités sont disponibles hors ligne

avec VCS centralisés comme Subversion, la seule chose que vous puissiez faire lorsque l'Offline est Edit Stuff. Certains systèmes donnent un accès limité à d'autres fonctionnalités (par exemple dans Subversion, vous pouvez différer et revenir à la dernière version du repo), mais la plupart de ce qui rend VCS utile, c'est

  • Historique de lecture
  • Vérification des anciennes versions
  • commettre
  • créer des succursales

    n'est possible que si vous êtes connecté au serveur central.

    Avec un DVCS, toutes les opérations ci-dessus fonctionnent localement, et si quelque chose doit aller dans le serveur central, vous pouvez toujours le pousser là-bas plus tard, lorsque vous êtes à nouveau en ligne.

    Bien que cela soit probablement sans importance si vous êtes toujours en ligne (tel que sur le bureau), il peut être essentiel si vous devez souvent travailler hors ligne, comme lors de votre voyage ou à la maison avec une connexion floconneuse.

    J'ai commencé à utiliser GIT spécialement parce que je travaille souvent sur la route et que je n'ai généralement pas de connexion (fiable).


0 commentaires

0
votes

Partage de changements avec d'autres sans publication

Pour moi, l'application Killer, quand j'étais une grande équipe, était capable de travailler avec d'autres ingénieurs, de partager des modifications, sans avoir à passer par le serveur central. Cela signifiait que nous pourrions partager des fonctionnalités inachevées de manière contrôlée (c'est-à-dire non "Copier ce fichier de mon arborescence") et tout vient de travailler.

  • Alice commence à travailler sur une caractéristique, mais il a besoin de Bob de faire des choses avant la libération.
  • BOB prend directement les modifications d'Alice, termine la fonctionnalité. Alice et Bob pourraient avoir des choses qui vont aller et venir entre eux.
  • Charlie, le gars QA, prend les changements de Bob et d'Alice de l'un d'entre eux. Teste-les. Ils vont bien! Il pousse tout le lot sur le serveur principal. Tout le monde peut maintenant obtenir la fonctionnalité - complète et testée.

0 commentaires