2011-09-21 5 views
3

Ok, je n'ai pas encore vu cette popup comme une question combinée sur mercurial, mais c'est quelque chose que j'ai remarqué récemment. Quand on regarde d'autres logiciels de repos pour le développement, les commits sont plutôt «idéaux», donc si l'objectif était de fixer une fonction f() alors la validation est juste 'fixed f() by ---'. Mon truc, je doute que chaque correction ait eu lieu dans un seul commit.Mercurial commits vs graphique de production réelle

j'aurais quelque chose comme

[1: essayer x fixer f] -> [2: essayer y fixer f] -> [3: essayer z fixer f] -> [4: f fixe]

J'ai remarqué avec ou sans branches nommées, si j'essaie de fusionner ensuite [4: fixe] à la branche 'stable' que je possède, puis de pousser ou de tirer le changement, ça tire [1: 4] non juste [4].

Je voudrais seulement pousser une correction propre à un repo ou à une configuration de production. Quel est le moyen le plus simple de partager tous mes changements de non-test?

+0

Juste curieux pourquoi commettez-vous si * ce n'est pas une solution *? – zerkms

+0

Chaque validation est une "solution" dans le développement, mais ce sont les plus petites corrections nécessaires pour faire une plus grande "correction" pour la production. C'est la devise de "Commit Souvent". Je travaille également sur de nombreux composants dans le développement, donc c'est bien d'avoir tout sous contrôle. J'ai trouvé ma réponse comme "mise en scène changesets" en ligne. Donc, si j'établis les changements, au lieu d'obtenir 50 révisions mineures, ils recevront une révision de masse contenant toutes les révisions mineures nécessaires pour le correctif ... – ilf

Répondre

1

Si vous voulez seulement pousser un changeset propre, seulement faire un changeset propre. La réduction de plusieurs ensembles de modifications locaux en 1 (réponse d'A la Amber) est unidirectionnelle.

La manière que je préfère est d'utiliser les files d'attente Mercurial et de faire mes morceaux de travail dans un patch. Puis, quand c'est terminé, je finis le patch et devient un changeset.

+0

J'ai trouvé un moyen de mettre en scène les changements dans les différents niveaux de production, donc qu'à mesure que le développement progresse, seules les «caractéristiques approuvées» apparaissent dans la production. J'ai considéré les files d'attente de Mercurial, mais je ne peux pas sembler envelopper ma tête autour d'elle ... – ilf

Questions connexes