sapling/eden/scm/tests/test-fb-hgext-treemanifest-noflat.t
Jun Wu 6fd6454502 tests: enable narrow-heads for test-fb-hgext-treemanifest-*
Reviewed By: DurhamG

Differential Revision: D22130166

fbshipit-source-id: dcff8bd6263c5cb6dd1f19320969f1d202b5da67
2020-07-02 13:22:28 -07:00

73 lines
1.8 KiB
Perl

#chg-compatible
$ configure mutation-norecord
$ . "$TESTDIR/library.sh"
This file tests that normal mercurial operations never read the flat manifests
$ cat >> $TESTTMP/flatcheck.py <<EOF
> from __future__ import print_function
> import sys, traceback
> from edenscm.mercurial import extensions, manifest
> def uisetup(ui):
> extensions.wrapfunction(manifest.manifestrevlog, 'revision', readmf)
> def readmf(orig, self, nodeorrev, **kwargs):
> if nodeorrev != -1:
> print('read flat manifest', file=sys.stderr)
> stack = traceback.extract_stack()
> print(''.join(traceback.format_list(stack[-3:-2])), file=sys.stderr)
> return orig(self, nodeorrev, **kwargs)
> EOF
$ hginit master
$ cd master
$ cat >> .hg/hgrc <<EOF
> [treemanifest]
> server=True
> [remotefilelog]
> server=True
> shallowtrees=True
> EOF
$ cd ..
$ hg clone -q ssh://user@dummy/master client
- Add a bunch of files so the manifest is large enough to use deltas
$ cd master
$ echo a >> a
$ echo a >> b
$ echo a >> c
$ echo a >> d
$ echo a >> e
$ echo a >> f
$ echo a >> g
$ echo a >> h
$ hg commit -Aqm 'add a-f'
$ echo a >> a
$ hg commit -Aqm 'modify a'
$ cd ../client
$ cat >> .hg/hgrc <<EOF
> [extensions]
> flatcheck=$TESTTMP/flatcheck.py
>
> [remotefilelog]
> reponame=master
>
> [treemanifest]
> autocreatetrees=True
> EOF
$ hg pull -q -r 0
$ hg pull -q -r 1
$ hg up 0
fetching tree '' 5ce27016a79d253c34c64aebd35bfb09605ad3ee
1 trees fetched over * (glob)
8 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo a >> b && hg commit -Aqm 'modify b'
$ hg rebase -d 1 -r 2
rebasing 667a26a14261 "modify b"
fetching tree '' 9486c937c5894f8f2adbaa0b589e8df5022217c9, found via 77dc854aeab9
1 trees fetched over * (glob)