Mercurial > hg
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 |
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 |