Mercurial > hg
annotate tests/test-narrow-sparse.t @ 48295:bf11ff22a9af
dirstate-v2: freeze the on-disk format
It seems the format as reached a good balance. With a core of new capabilities
that motivated it initially and enough new feature and room for future
improvement to be a clear progress we can set a milestone for.
Having the format frozen will help the feature to get real life testing, outside
of the test suite.
The feature itself stay experimental but the config gains a new name to avoid
people enable non-frozen version by default.
If too many bugs are reported during the RC we might move the format back to
experimental and drop its support in future version (in favor of a new one)
Differential Revision: https://phab.mercurial-scm.org/D11709
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 20 Oct 2021 00:57:02 +0200 |
parents | e4ccc341e65b |
children | f35529784079 |
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 |
48295
bf11ff22a9af
dirstate-v2: freeze the on-disk format
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
47303
diff
changeset
|
61 exp-rc-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 |