Mercurial > evolve
view tests/test-topic-issue6500.t @ 6316:b1d1f4ade142
evolve: don't embed graft data when completing interrupted evolve operations
This data shows in TortoiseHg, and is a bit awkward since it wasn't added before
in the non interrupted case. It originated before 823031b51d81, when the
implementation changed away from using the graft command. According to
@marmoute, unconditionally adding `source` served as noise to create a new hash
and prevent a cycle, so use the same key (`rebase_source`) as would happen in
the uninterrupted case (as demonstrated by the first change in
test-stabilize-conflict.t).
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Fri, 07 Oct 2022 18:14:58 -0400 |
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)