Mercurial > evolve
view tests/test-topic-issue6500.t @ 6216:ce46b853d10e
prune: add a test to demonstrate a bug
Test shows that pruning without any successor warns about creating
divergence which is not possible and is a false warning.
For the knowledge, this pattern of pruning (without any successor) an
already pruned cset is sometime used to keep successors locally but
vanish them at server side.
author | Sushil khanchi <sushilkhanchi97@gmail.com> |
---|---|
date | Fri, 23 Jul 2021 00:48:50 +0530 |
parents | 6c67219ce779 |
children |
line wrap: on
line source
KeyError: b'topic' on history-rewriting commands (issue6500) https://bz.mercurial-scm.org/show_bug.cgi?id=6500 $ . $TESTDIR/testlib/common.sh Making sure we're not caching .topic() results for memctx or anything else that's not stored on-disk $ hg init issue6500-caching-memctx $ cd issue6500-caching-memctx $ cat >> $HGRCPATH << EOF > [extensions] > evolve = > topic = > EOF for this test we need 2 changesets with amend_source, one with topic and one without $ hg topics foo marked working directory as topic: foo $ echo apple > a $ hg ci -qAm 'apple' $ echo apricot > a $ hg ci --amend -m 'apricot' not using `hg topics --clear -r .` here because that would remove amend_source, see _changetopics() $ hg topics --clear $ hg ci --amend -m 'no foo apricot' $ hg log --hidden -r 1+2 -T '{rev}: {join(extras, " ")}\n' 1: amend_source=* branch=default topic=foo (glob) 2: amend_source=* branch=default (glob) creating and handling 2 memctx instances (based on 1 and then 2) should work $ hg touch --hidden -r 1+2 --duplicate switching to topic foo make sure extras stay the same $ hg log --hidden -r 3+4 -T '{rev}: {join(extras, " ")}\n' 3: __touch-noise__=* amend_source=* branch=default topic=foo (glob) 4: __touch-noise__=* amend_source=* branch=default (glob)