tests/test-narrow-debugcommands.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Thu, 07 Mar 2024 10:55:22 +0100
changeset 51531 f85f23f1479b
parent 49252 4141951dacff
permissions -rw-r--r--
branchcache: skip entries that are topological heads in the on disk file In the majority of cases, topological heads are also branch heads. We have efficient way to get the topological heads and efficient way to retrieve their branch information. So there is little value in putting them in the branch cache file explicitly. On the contrary, writing them explicitly tend to create very large cache file that are inefficient to read and update. So the branch cache v3 format is no longer including them. This changeset focus on the format aspect and have no focus on the performance aspect. We will cover that later.

  $ . "$TESTDIR/narrow-library.sh"
  $ hg init repo
  $ cd repo
  $ cat << EOF > .hg/store/narrowspec
  > [include]
  > path:foo
  > [exclude]
  > EOF
  $ cp .hg/store/narrowspec .hg/narrowspec.dirstate
  $ echo treemanifest >> .hg/requires
  $ echo narrowhg-experimental >> .hg/requires
  $ mkdir -p foo/bar
  $ echo b > foo/f
  $ echo c > foo/bar/f
  $ hg commit -Am hi
  adding foo/bar/f
  adding foo/f
  $ hg debugindex -m
     rev linkrev       nodeid    p1-nodeid    p2-nodeid
       0       0 14a5d056d75a 000000000000 000000000000
  $ hg debugindex --dir foo
     rev linkrev       nodeid    p1-nodeid    p2-nodeid
       0       0 e635c7857aef 000000000000 000000000000
  $ hg debugindex --dir foo/
     rev linkrev       nodeid    p1-nodeid    p2-nodeid
       0       0 e635c7857aef 000000000000 000000000000
  $ hg debugindex --dir foo/bar
     rev linkrev       nodeid    p1-nodeid    p2-nodeid
       0       0 e091d4224761 000000000000 000000000000
  $ hg debugindex --dir foo/bar/
     rev linkrev       nodeid    p1-nodeid    p2-nodeid
       0       0 e091d4224761 000000000000 000000000000
  $ hg debugdata -m 0
  foo\x00e635c7857aef92ac761ce5741a99da159abbbb24t (esc)
  $ hg debugdata --dir foo 0
  bar\x00e091d42247613adff5d41b67f15fe7189ee97b39t (esc)
  f\x001e88685f5ddec574a34c70af492f95b6debc8741 (esc)
  $ hg debugdata --dir foo/ 0
  bar\x00e091d42247613adff5d41b67f15fe7189ee97b39t (esc)
  f\x001e88685f5ddec574a34c70af492f95b6debc8741 (esc)
  $ hg debugdata --dir foo/bar 0
  f\x00149da44f2a4e14f488b7bd4157945a9837408c00 (esc)
  $ hg debugdata --dir foo/bar/ 0
  f\x00149da44f2a4e14f488b7bd4157945a9837408c00 (esc)