view tests/test-sqlite3-permissions.t @ 6224:17ffdea0edbb stable

evolve: look for split successors of the correct ancestor (issue6648) Consider two changesets, 1 and 2. 1 is split into two new changesets and 2 is pruned. If we stand on 2 and call hg evolve, _singlesuccessor() will traverse ancestors of wdp in search of a changeset with successors to update to (it will be 1, which was split). In case of a split, select_split_successor() gets control. The issue is this function didn't traverse ancestors, and instead tried to look up successors of the original changeset (i.e. 2 in our case, which was pruned). We can make select_split_successor() aware of _singlesuccessor() logic by using the changeset that actually has successors without traversing ancestors again. It's done by storing that changeset in MultipleSuccessorsError exception.
author Anton Shestakov <av6@dwimlabs.net>
date Thu, 21 Apr 2022 22:19:27 +0400
parents 2570d2d4a268
children
line wrap: on
line source

#require unix-permissions

Test that sqlite3 cache files inherit the permissions of the .hg
directory like other cache files.

  $ . $TESTDIR/testlib/common.sh

  $ cat << EOF >> $HGRCPATH
  > [extensions]
  > evolve =
  > EOF
  $ hg init test
  $ cd test
  $ chmod 700 .hg
  $ hg debugupdatecache
  $ ls -l .hg/cache/evoext_*.sqlite
  -rw------- * .hg/cache/evoext_obshashrange_v2.sqlite (glob)
  -rw------- * .hg/cache/evoext_stablerange_v2.sqlite (glob)
  $ rm -r .hg/cache
  $ chmod 770 .hg
  $ hg debugupdatecache
  $ ls -l .hg/cache/evoext_*.sqlite
  -rw-rw---- * .hg/cache/evoext_obshashrange_v2.sqlite (glob)
  -rw-rw---- * .hg/cache/evoext_stablerange_v2.sqlite (glob)
  $ rm -r .hg/cache
  $ chmod 774 .hg
  $ hg debugupdatecache
  $ ls -l .hg/cache/evoext_*.sqlite
  -rw-rw-r-- * .hg/cache/evoext_obshashrange_v2.sqlite (glob)
  -rw-rw-r-- * .hg/cache/evoext_stablerange_v2.sqlite (glob)