1

我有一个使用 Mercurial 管理的 Web 项目。

“默认”分支是主要的。我们在我的公司中使用它作为发布分支。

现在我需要«克隆»这个版本来为新消费者添加自定义表单:我创建了一个新分支:“idea”

当我发现默认错误时,我只需要将“默认”合并到“想法”中,并且该修复可用于 fork。

但是当我在一个版本中修复“idea”中的一个错误时,我如何将它应用到默认而不在默认分支中添加自定义表单?

在这种情况下,我需要默认合并 rev 110 和 111,但只有这些 rev

o  111[tip]   3d14d9c9096d   2013-03-14 18:11 +0100   darius
|    ajout de la gestion des droit sur etat de tickets
|
o  110   5be5e130241c   2013-03-14 16:49 +0100   darius
|    correction bug unité article
|
o    109:100,108   8c2ea9d76a2f   2013-03-14 16:44 +0100   darius
|\     fusion avec default
| |
| @  108   7d175b11327f   2013-03-14 16:36 +0100   darius
| |    correction du bug des unité
| |
| o  107   adc0dcf2bfc8   2013-03-14 14:59 +0100   darius
| |    correction taille bar
| |
| o  106   f41472a6c515   2013-03-14 14:44 +0100   darius
| |    correction js des popup de fichiers attaché
| |
| o  105   e5c7e243bcca   2013-03-13 17:15 +0100   darius
| |    correction bug de blocnote et z-index typeahead
| |
| o  104   72566ddba6b3   2013-03-08 12:28 +0100   darius
| |    ajout des graphes d'activité par client
| |
| o  103   d069dfb24006   2013-03-08 10:09 +0100   darius
| |    correction du bug de blocnote supprimé a cause de char null dans le blocnote
| |
| o  102   6dc51702fde0   2013-03-07 18:06 +0100   darius
| |    ajout du lien de fichier qui ouvre dans une autre fenetre
| |
| o  101:99   96f6af3df7f7   2013-03-07 17:12 +0100   darius
| |    refractoring des stats dans une appli ticket_stats et ajout du activite by clien
| |
o |  100:97,99   941134915ff0   2013-03-06 15:34 +0100   darius
|\|    Fusion avec default
| |
| o  99   67a2e2f2b263   2013-03-06 15:11 +0100   darius
| |    correction click sur adress mail dans les ticket
| |
| o  98:95   a20ba888c900   2013-03-06 12:26 +0100   darius
| |    correction du bug des accents dans les nom de fichiers et de la modif d'activite
| |
o |  97   b1930e15c1be   2013-03-05 17:59 +0100   darius
| |    modif du settings.dev_on_prod et du formulaire de ticket
| |
o |  96:92,95   a51f00d107d7   2013-03-05 17:55 +0100   darius
|\|    Fusion avec default
| |
| o  95   f3f3234f38e6   2013-03-05 17:54 +0100   darius
| |    ajout des user pas admin ok
| |
| o  94   2c0e09aab0ab   2013-03-05 17:43 +0100   darius
| |    correction bug de creation d'utilisateur via admin
| |
| o  93:91   051d00064aba   2013-03-05 17:38 +0100   darius
| |    retrait du cache sur les ticket a cause de boucles recursive au niveau du cache
| |
o |  92:89,91   0d7ce90cd324   2013-03-05 17:08 +0100   darius
|\|    Fusion avec default
| |
| o  91   43357d05bdd6   2013-03-05 17:07 +0100   darius
| |    correction cas ou pas de hierarchie
| |
| o  90:88   984da3636ded   2013-03-05 16:12 +0100   darius
| |    correcion bug creation contacts
| |
o |  89   605374295adc   2013-03-05 15:14 +0100   darius
|/     ajout de la branche idea
|
o  88   2f699fca00d5   2013-03-05 15:12 +0100   darius
|    mise a jour des libs required
|
o  87   f37e580921cc   2013-03-05 14:32 +0100   darius
|    ajout du cache sur les objet Cegid
|

对不起我糟糕的英语。这不是我的母语。

4

2 回答 2

2

最好只在默认分支中提交修复。如果已经在“idea”分支中提交了修复,那么最好的做法是将修复变更集导出为补丁,并将此补丁应用到默认分支。

于 2013-03-15T16:48:22.633 回答
2

这看起来像是贪污的工作。

hg -v help graft

This command uses Mercurial's merge logic to copy individual changes from
other branches without merging branches in the history graph. This is
sometimes known as 'backporting' or 'cherry-picking'.
...

在您的情况下,您需要:hg graft "110::111"

编辑:看起来你已经在 108 上,否则>hg update 108

于 2013-03-15T19:27:02.190 回答