tests/test-options.t
author Anton Shestakov <av6@dwimlabs.net>
Sun, 26 Jan 2020 20:57:39 +0700
branchstable
changeset 5246 814083e5f7e8
parent 4185 9bce7e6c18b3
child 4354 cb39b767ad3c
permissions -rw-r--r--
evolve: use repo.setparents() instead of repo.dirstate.setparents() setparents() was added to localrepository class in 2012, and now we finally have some differences between calling repo.setparents() vs repo.dirstate.setparents(): _quick_access_* things, introduced in hg 5.3. This patch fixes an actual quick-access desync problem where repo[b'.'] would be different from repo.dirstate.p1(), as demonstrated by test-evolve-phase-divergence.t when ran on hg 5.3rc0 and later. Modified _uncommitdirstate() too, because it is used in dirstatedance(), which sometimes follows repo.setparents() calls.

  $ cat >> $HGRCPATH <<EOF
  > [ui]
  > logtemplate={rev}:{node|short}[{bookmarks}] ({obsolete}/{phase}) {desc|firstline}\n
  > [extensions]
  > EOF
  $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH

  $ mkcommit() {
  >    echo "$1" > "$1"
  >    hg add "$1"
  >    hg ci -m "add $1"
  > }

  $ hg init repo
  $ cd repo
  $ mkcommit a
  $ mkcommit b

test disabling commands

  $ cat >> .hg/hgrc <<EOF
  > [experimental]
  > evolution=createmarkers
  >   allowunstable
  >   exchange
  > EOF
  $ hg prune
  hg: unknown command 'prune'
  (use 'hg help' for a list of commands)
  [255]