为什么我的分支完全合并?

时间:2014-01-16 09:55:11

标签: version-control mercurial branch

我是善变的新手。我尝试使用我的软件的两个版本。我已经命名了2个分支:一个是“v8”(旧/稳定),另一个是“默认”。

我以为我理解了一些事情,但现在我似乎已经合并了两个版本。

这就是它的样子(从分支前删除信息):

o  changeset:   39:1e72986020bd
|  tag:         tip
|  parent:      37:406b8e897030
|  user:        ME <me@example.com>
|  date:        Thu Jan 16 09:53:55 2014 +0100
|  summary:     Suppression des DCU
|
| o  changeset:   38:7381e3f2309b
|/|  branch:      v8
| |  parent:      31:611a4416e4a5
| |  parent:      37:406b8e897030
| |  user:        ME <me@example.com>
| |  date:        Wed Jan 15 19:21:58 2014 +0100
| |  summary:     fixforbrowser sur impressiondecomptes
| |
o |  changeset:   37:406b8e897030
| |  user:        ME <me@example.com>
| |  date:        Wed Jan 15 19:02:18 2014 +0100
| |  summary:     fixforbrowser sur impressiondecomptes
| |
o |  changeset:   36:d7c0feaad38a
| |  user:        ME <me@example.com>
| |  date:        Wed Jan 15 18:57:44 2014 +0100
| |  summary:     Cosmétique
| |
o |  changeset:   35:d2b4c3130b61
| |  user:        ME <me@example.com>
| |  date:        Sun Jan 12 14:38:36 2014 +0100
| |  summary:     Cosmétique encore
| |
o |  changeset:   34:5447f904a336
| |  user:        ME <me@example.com>
| |  date:        Fri Jan 10 03:51:33 2014 +0100
| |  summary:     projet
| |
o |  changeset:   33:f48c4023d822
| |  user:        ME <me@example.com>
| |  date:        Fri Jan 10 03:50:06 2014 +0100
| |  summary:     cosmétique (beaucoup de fiches)
| |
o |  changeset:   32:cc6b2de08004
| |  parent:      30:5b4bef6aad09
| |  user:        ME <me@example.com>
| |  date:        Fri Jan 10 02:12:59 2014 +0100
| |  summary:     cosmétique
| |
| @  changeset:   31:611a4416e4a5
| |  branch:      v8
| |  parent:      29:0c47053f9a7b
| |  user:        ME <me@example.com>
| |  date:        Fri Jan 10 02:11:01 2014 +0100
| |  summary:     purge deleted ?
| |
o |  changeset:   30:5b4bef6aad09
|\|  parent:      25:74d793961989
| |  parent:      29:0c47053f9a7b
| |  user:        ME <me@example.com>
| |  date:        Fri Jan 10 02:09:04 2014 +0100
| |  summary:     v9 after fixes
| |
| o  changeset:   29:0c47053f9a7b
| |  branch:      v8
| |  parent:      27:79855eedf019
| |  user:        ME <me@example.com>
| |  date:        Fri Jan 10 01:57:22 2014 +0100
| |  summary:     8.084 ok?
| |
+---o  changeset:   28:e60a7447adf4
| |/   branch:      v8
| |    parent:      25:74d793961989
| |    parent:      27:79855eedf019
| |    user:        ME <me@example.com>
| |    date:        Fri Jan 10 01:41:05 2014 +0100
| |    summary:     8.084 ??
| |
| o  changeset:   27:79855eedf019
| |  branch:      v8
| |  user:        ME <me@example.com>
| |  date:        Wed Jan 08 16:57:12 2014 +0100
| |  summary:     fix detection des fichiers de récap sur imports feuillets
| |
| o  changeset:   26:19d2f4b2d867
| |  branch:      v8
| |  parent:      23:14219f06bc1d
| |  user:        ME <me@example.com>
| |  date:        Wed Jan 08 16:49:35 2014 +0100
| |  summary:     fix qpdep et qpdrm sur imports feuillets
| |
o |  changeset:   25:74d793961989
| |  user:        ME <me@example.com>
| |  date:        Wed Jan 08 16:44:30 2014 +0100
| |  summary:     premieres modifs v9
| |
o |  changeset:   24:1af3020ba120
| |  parent:      22:7307bc3e87ba
| |  user:        ME <me@example.com>
| |  date:        Thu Dec 26 15:47:20 2013 +0100
| |  summary:     Initial v9
| |
| o  changeset:   23:14219f06bc1d
|/   branch:      v8
|    user:        ME <me@example.com>
|    date:        Thu Dec 26 15:41:55 2013 +0100
|    summary:     Branche stable v8
|
o  changeset:   22:7307bc3e87ba
|  user:        ME <me@example.com>
|  date:        Fri Dec 20 18:50:50 2013 +0100
|  summary:     8.083
  • Rev 31似乎是最后一个“好”的v8
  • 然后我做了hg update default并参与了“默认”分支。
  • 我承诺参加第36次修订,因为我知道我必须修复我想要与stable / v8合并
  • 我做了改变,承诺(rev 37)
  • 然后我用hg update v8
  • 切换到v8
  • 然后我尝试将默认更改与hg merge 406b8e897030
  • 合并
  • 然后我承诺(rev 38)
  • 我删除了其中一个存储库中的3个二进制(DCU)文件后做了最后一次提交,尽管* .dcu是.hgignore d。

现在,当我切换分支时,我看不到文件更改。我可以使用hg update v8(可能无用)和hg update --rev 31返回第31版,但我想:

  • 了解我做错了什么
  • 让2个干净的树枝回来

如果您知道分支和合并如何工作的明确解释,我很乐意阅读它。

1 个答案:

答案 0 :(得分:2)

  • 分支机构存储源(任何事物)变化的分歧历史
  • 合并分支带来源分支的目标分支所有更改,从最新的分歧点出现:它可以是branchpoint或最新mergeset的父代
  • 如果您必须仅将的子集从分支移植到分支(1+变更集,但是&lt; ALL),则必须hg graft只有这些变更集