author | Pierre-Yves David <pierre-yves.david@octobus.net> |
Tue, 19 Dec 2023 22:00:47 +0100 | |
changeset 51299 | 726d8584905a |
parent 48669 | 7ee07e1a25c0 |
permissions | -rw-r--r-- |
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 |
|
48464
5e6542143d40
test: use `hg debugrequires` instead of `cat` in some tests
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48321
diff
changeset
|
59 |
$ hg debugrequires |
41147
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 |
48321
f35529784079
dirstate-v2: fix confusion between requirement and format config variable
Raphaël Gomès <rgomes@octobus.net>
parents:
48295
diff
changeset
|
61 |
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 |
48669
7ee07e1a25c0
share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
48464
diff
changeset
|
68 |
share-safe |
41147
eb172f9c208c
tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
69 |
sparserevlog |
eb172f9c208c
tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
70 |
store |
eb172f9c208c
tests: add tests for narrow clone when both sparse and narrow are enabled
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
diff
changeset
|
71 |
treemanifest (tree !) |
41149
76dcf7958c5f
tests: show that debugrebuilddirstate is broken with narrow+sparse
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
41148
diff
changeset
|
72 |
|
76dcf7958c5f
tests: show that debugrebuilddirstate is broken with narrow+sparse
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
41148
diff
changeset
|
73 |
$ 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
|
74 |
|
e4ccc341e65b
narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents:
47279
diff
changeset
|
75 |
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
|
76 |
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
|
77 |
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
|
78 |
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
|
79 |
|
e4ccc341e65b
narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents:
47279
diff
changeset
|
80 |
#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
|
81 |
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
|
82 |
|
e4ccc341e65b
narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents:
47279
diff
changeset
|
83 |
$ 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
|
84 |
> [extensions] |
e4ccc341e65b
narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents:
47279
diff
changeset
|
85 |
> sparse = |
e4ccc341e65b
narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents:
47279
diff
changeset
|
86 |
> narrow = |
e4ccc341e65b
narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents:
47279
diff
changeset
|
87 |
> EOF |
e4ccc341e65b
narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents:
47279
diff
changeset
|
88 |
|
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 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
|
90 |
$ 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
|
91 |
$ 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
|
92 |
./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
|
93 |
|
e4ccc341e65b
narrow: widen when files are excluded by sparse and not included by narrow
Charles Chamberlain <cchamberlain@janestreet.com>
parents:
47279
diff
changeset
|
94 |
$ 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
|
95 |
$ 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
|
96 |
./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
|
97 |
./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
|
98 |
#endif |