Mercurial: la Fusion d'un fichier entre les branches dans un repo
Quand j'ai deux branches en Hg repo, comment fusionner un seul fichier avec une autre branche, sans avoir tous les autres fichiers à partir de l'ensemble de modifications fusionné?
Est-il possible de fusionner uniquement certains fichiers, au lieu de l'ensemble de l'ensemble de modifications?
Vous devez vous connecter pour publier un commentaire.
AVERTISSEMENT: ce type de "mannequin de fusion", comme il est recommandé par @Martin_Geisler, peut vraiment être un gâchis de vous, si plus tard vous voulez faire une véritable fusion des deux branches. Le mannequin de fusion seront enregistrées, et de dire que vous fondre dans la branche que vous avez le mannequin de fusion -- vous ne verrez pas les changements. Ou si vous fondre dans l'autre direction, les changements sur cette autre branche sera annulée.
Si tout ce que vous voulez, c'est de copier l'intégralité d'un fichier à partir d'une branche à l'autre, vous pouvez tout simplement faire:
Si vous souhaitez sélectionner les différentes parties de ce fichier, puis
"hg record"
est utile.J'ai juste fait cela sur mon répertoire home .hgignore.
Si les deux branches ont apporté des modifications à un fichier que vous souhaitez conserver, un sale truc serait de créer une fusion des deux branches à l'aide de la commande hg merge, probablement/probablement encore une autre branche, vérifier que, dans les, puis de copier un fichier unique entre la fusion et la branche:
Il convient de mentionner: le chemin de "copier un fichier unique entre les branches" (ou de leur révision, ou de la révision à la fusion, ou......) est "hg revenir". I. e.
Pour une raison que j', et certains de mes collègues, de trouver ce TRÈS à confusion. "revert"=="copie" ... de sens que pour certains modèles d'utilisation, mais pas tous.
hg revert
, je pense qu'il ne peut êtrehg mv
-ed après unhg commit
(pour revenir). Alors comme ça, il est deux commits.Nope. Mercurial travaille sur un ensemble de modifications de base.
Mais vous pouvez faire un "mannequin de fusion" où vous ignorer les modifications entrantes à partir de l'une des branches. Avant de vous engager, vous pouvez rétablir les fichiers sélectionnés à quelque état que vous voulez:
Peut-être vous aider un peu.
Je voudrais juste utiliser un outil externe comme
vimdiff
diff les deux fichiers que je veux fusionner, puis de les fusionner. L'avantage de ceci est que vous pouvez faire la modification sélective sur les pièces du dossier. E. g:Pour ce faire, vous devez activer les outils externes dans votre .hgrc, ce qui signifie simplement l'ajout de ces lignes: