view tests/test-narrow-debugcommands.t @ 43961:b69d5f3a41d0

rust-index: add a struct wrapping the C index Implementing the full index logic in one go is journey larger than we would like. To achieve a smoother transition, we start with a simple Rust wrapper that delegates allwork to the current C implementation. Once we will have a fully working index object in Rust, we can easily start using more and more Rust Code with it. The object in this patch is functional and tested. However, multiple of the currently existing rust (in the `hg-cpython` crate) requires a `Graph`. Right now we build this `Graph` (as cindex::Index) using the C index passed as a PyObject. They will have to be updated to be made compatible. Differential Revision: https://phab.mercurial-scm.org/D7655
author Georges Racinet <georges.racinet@octobus.net>
date Mon, 23 Dec 2019 10:02:50 -0800
parents ce0bc2952e2a
children ccd76e292be5
line wrap: on
line source

  $ . "$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           p2
       0       0 14a5d056d75a 000000000000 000000000000
  $ hg debugindex --dir foo
     rev linkrev nodeid       p1           p2
       0       0 e635c7857aef 000000000000 000000000000
  $ hg debugindex --dir foo/
     rev linkrev nodeid       p1           p2
       0       0 e635c7857aef 000000000000 000000000000
  $ hg debugindex --dir foo/bar
     rev linkrev nodeid       p1           p2
       0       0 e091d4224761 000000000000 000000000000
  $ hg debugindex --dir foo/bar/
     rev linkrev nodeid       p1           p2
       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)