annotate tests/test-narrow-sparse.t @ 47517:28632eb3ca3e

dirstate-entry: restrict `from_p2` property to tracked file The other case is now handled in `from_p2_removed`, and should ideally be moved to a lower level. So we can drop the `state == 'n'` narrowing and move it in the property itself. Differential Revision: https://phab.mercurial-scm.org/D10959
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sun, 04 Jul 2021 01:14:15 +0200
parents e4ccc341e65b
children bf11ff22a9af
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
41147
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
1 Testing interaction of sparse and narrow when both are enabled on the client
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
2 side and we do a non-ellipsis clone
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
3
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
4 #testcases tree flat
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
5 $ . "$TESTDIR/narrow-library.sh"
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
6 $ cat << EOF >> $HGRCPATH
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
7 > [extensions]
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
8 > sparse =
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
9 > EOF
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
10
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
11 #if tree
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
12 $ cat << EOF >> $HGRCPATH
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
13 > [experimental]
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
14 > treemanifest = 1
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
15 > EOF
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
16 #endif
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
17
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
18 $ hg init master
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
19 $ cd master
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
20
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
21 $ mkdir inside
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
22 $ echo 'inside' > inside/f
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
23 $ hg add inside/f
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
24 $ hg commit -m 'add inside'
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
25
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
26 $ mkdir widest
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
27 $ echo 'widest' > widest/f
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
28 $ hg add widest/f
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
29 $ hg commit -m 'add widest'
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
30
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
31 $ mkdir outside
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
32 $ echo 'outside' > outside/f
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
33 $ hg add outside/f
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
34 $ hg commit -m 'add outside'
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
35
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
36 $ cd ..
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
37
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
38 narrow clone the inside file
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
39
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
40 $ hg clone --narrow ssh://user@dummy/master narrow --include inside/f
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
41 requesting all changes
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
42 adding changesets
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
43 adding manifests
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
44 adding file changes
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
45 added 3 changesets with 1 changes to 1 files
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
46 new changesets *:* (glob)
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
47 updating to branch default
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
48 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
49 $ cd narrow
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
50 $ hg tracked
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
51 I path:inside/f
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
52 $ hg files
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
53 inside/f
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
54
41148
8eaf693b1409 sparse: don't enable on clone if it was a narrow clone
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 41147
diff changeset
55 XXX: we should have a flag in `hg debugsparse` to list the sparse profile
8eaf693b1409 sparse: don't enable on clone if it was a narrow clone
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 41147
diff changeset
56 $ test -f .hg/sparse
8eaf693b1409 sparse: don't enable on clone if it was a narrow clone
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 41147
diff changeset
57 [1]
41147
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
58
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
59 $ cat .hg/requires
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
60 dotencode
47279
40b51c28b242 dirstate-v2: Update the expected output of some tests for new requirement
Simon Sapin <simon.sapin@octobus.net>
parents: 46884
diff changeset
61 exp-dirstate-v2 (dirstate-v2 !)
41147
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
62 fncache
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
63 generaldelta
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
64 narrowhg-experimental
46884
cc3ad5c3af3b persistent-nodemap: enable the feature by default when using Rust
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46874
diff changeset
65 persistent-nodemap (rust !)
46874
84a93fa7ecfd revlog-compression: use zstd by default (if available)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41150
diff changeset
66 revlog-compression-zstd (zstd !)
41147
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
67 revlogv1
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
68 sparserevlog
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
69 store
eb172f9c208c tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff changeset
70 treemanifest (tree !)
41149
76dcf7958c5f tests: show that debugrebuilddirstate is broken with narrow+sparse
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 41148
diff changeset
71
76dcf7958c5f tests: show that debugrebuilddirstate is broken with narrow+sparse
Pulkit Goyal <pulkit@yandex-team.ru>
parents: 41148
diff changeset
72 $ hg debugrebuilddirstate
47303
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
73
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
74 We only make the following assertions for the flat test case since in the
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
75 treemanifest test case debugsparse fails with "path ends in directory
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
76 separator: outside/" which seems like a bug unrelated to the regression this is
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
77 testing for.
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
78
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
79 #if flat
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
80 widening with both sparse and narrow is possible
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
81
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
82 $ cat >> .hg/hgrc <<EOF
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
83 > [extensions]
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
84 > sparse =
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
85 > narrow =
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
86 > EOF
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
87
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
88 $ hg debugsparse -X outside/f -X widest/f
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
89 $ hg tracked -q --addinclude outside/f
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
90 $ find . -name .hg -prune -o -type f -print | sort
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
91 ./inside/f
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
92
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
93 $ hg debugsparse -d outside/f
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
94 $ find . -name .hg -prune -o -type f -print | sort
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
95 ./inside/f
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
96 ./outside/f
e4ccc341e65b narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents: 47279
diff changeset
97 #endif