Mercurial > hg
view tests/test-merge9.t @ 17615:9e2dc0d292cd
rebase: ensure rebase does not revive extinct revision
Here, we exclude hidden changesets from a rebase operation. If we
don't, a rewritten version of the hidden changesets will be created
by rebase. Those rewritten versions won't be hidden and will likely
conflict with other rewriting or revive pruned changeset. Moreover,
rewriting hidden revisions will surprise the user.
This change would not be necessary if changelog filtering were
already in core. But it's fairly cheap and helps to increase the
test-suite for such filtering.
Once changelog level filtering is added, hidden changes will be
automatically excluded or included according to the global --hidden
flags. Plain ignoring them is good enough for now.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Tue, 18 Sep 2012 23:32:42 +0200 |
parents | f2719b387380 |
children | 9209c02f1f25 |
line wrap: on
line source
test that we don't interrupt the merge session if a file-level merge failed $ hg init repo $ cd repo $ echo foo > foo $ echo a > bar $ hg ci -Am 'add foo' adding bar adding foo $ hg mv foo baz $ echo b >> bar $ echo quux > quux1 $ hg ci -Am 'mv foo baz' adding quux1 $ hg up -qC 0 $ echo >> foo $ echo c >> bar $ echo quux > quux2 $ hg ci -Am 'change foo' adding quux2 created new head test with the rename on the remote side $ HGMERGE=false hg merge merging bar merging bar failed! merging foo and baz to baz 1 files updated, 1 files merged, 0 files removed, 1 files unresolved use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon [1] $ hg resolve -l U bar R baz test with the rename on the local side $ hg up -C 1 3 files updated, 0 files merged, 1 files removed, 0 files unresolved $ HGMERGE=false hg merge merging bar merging bar failed! merging baz and foo to baz 1 files updated, 1 files merged, 0 files removed, 1 files unresolved use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon [1] show unresolved $ hg resolve -l U bar R baz unmark baz $ hg resolve -u baz show $ hg resolve -l U bar U baz $ hg st M bar M baz M quux2 ? bar.orig re-resolve baz $ hg resolve baz merging baz and foo to baz after resolve $ hg resolve -l U bar R baz resolve all warning $ hg resolve abort: no files or directories specified; use --all to remerge all files [255] resolve all $ hg resolve -a merging bar warning: conflicts during merge. merging bar incomplete! (edit conflicts, then use 'hg resolve --mark') [1] after $ hg resolve -l U bar R baz $ cd ..