Mercurial > hg
view tests/test-merge-default @ 10505:b3311e26f94f stable
merge: fix --preview to show all nodes that will be merged (issue2043).
Formerly, it omitted nodes that were not descendants of the least
common ancestor of the two merge parents, even though those nodes
contribute to the merge. The new algorithm uses revlog.findmissing()
instead of ancestor() + nodesbetween().
author | Greg Ward <greg-hg@gerg.ca> |
---|---|
date | Mon, 15 Feb 2010 15:25:29 -0500 |
parents | d2c1fc440533 |
children | 95c7c4b7e67a |
line wrap: on
line source
#!/bin/sh hg init echo a > a hg commit -A -ma echo b >> a hg commit -mb echo c >> a hg commit -mc hg up 1 echo d >> a hg commit -md hg up 1 echo e >> a hg commit -me hg up 1 echo % should fail because not at a head hg merge hg up echo % should fail because \> 2 heads export HGMERGE=internal:other hg merge echo % should succeed hg merge 2 hg commit -mm1 echo % should succeed - 2 heads hg merge -P hg merge hg commit -mm2 echo % should fail because at tip hg merge hg up 0 echo % should fail because 1 head hg merge hg up 3 echo f >> a hg branch foobranch hg commit -mf echo % should fail because merge with other branch hg merge # Test for issue2043: ensure that 'merge -P' shows ancestors of 6 that # are not ancestors of 7, regardless of where their least common # ancestor is. echo % merge preview not affected by common ancestor hg up -q 7 hg merge -q -P 6 # expect: 2, 4, 5, 6 true