Mercurial > hg
annotate tests/test-narrow-share.t @ 49487:e8481625c582
rust: add Debug constraint to Matcher trait
This makes sure we can easily debug which Matcher we're looking at when using
trait objects, and is just generally useful. Effort to make the debugging
output nicer has been kept to a minimum, please feel free to improve.
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Mon, 11 Jul 2022 11:59:13 +0200 |
parents | 7ed0fc687220 |
children | 2f2682f40ea0 |
rev | line source |
---|---|
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
1 #testcases flat tree |
45483
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
42171
diff
changeset
|
2 #testcases safe normal |
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
42171
diff
changeset
|
3 |
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
42171
diff
changeset
|
4 #if safe |
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
42171
diff
changeset
|
5 $ echo "[format]" >> $HGRCPATH |
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
42171
diff
changeset
|
6 $ echo "exp-share-safe = True" >> $HGRCPATH |
d252f51ab032
share: introduce config option to store requires in .hg/store
Pulkit Goyal <7895pulkit@gmail.com>
parents:
42171
diff
changeset
|
7 #endif |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
8 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
9 $ . "$TESTDIR/narrow-library.sh" |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
10 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
11 #if tree |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
12 $ cat << EOF >> $HGRCPATH |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
13 > [experimental] |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
14 > treemanifest = 1 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
15 > EOF |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
16 #endif |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
17 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
18 $ cat << EOF >> $HGRCPATH |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
19 > [extensions] |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
20 > share = |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
21 > EOF |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
22 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
23 $ hg init remote |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
24 $ cd remote |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
25 $ for x in `$TESTDIR/seq.py 0 10` |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
26 > do |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
27 > mkdir d$x |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
28 > echo $x > d$x/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
29 > hg add d$x/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
30 > hg commit -m "add d$x/f" |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
31 > done |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
32 $ cd .. |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
33 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
34 $ hg clone --narrow ssh://user@dummy/remote main -q \ |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
35 > --include d1 --include d3 --include d5 --include d7 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
36 |
42171
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
37 Ignore file called "ignored" |
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
38 $ echo ignored > main/.hgignore |
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
39 |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
40 $ hg share main share |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
41 updating working directory |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
42 4 files updated, 0 files merged, 0 files removed, 0 files unresolved |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
43 $ hg -R share tracked |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
44 I path:d1 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
45 I path:d3 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
46 I path:d5 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
47 I path:d7 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
48 $ hg -R share files |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
49 share/d1/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
50 share/d3/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
51 share/d5/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
52 share/d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
53 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
54 Narrow the share and check that the main repo's working copy gets updated |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
55 |
41181
3227923979a1
tests: de-flake test-narrow-share.t by making dirstate predictable
Martin von Zweigbergk <martinvonz@google.com>
parents:
41043
diff
changeset
|
56 # Make sure the files that are supposed to be known-clean get their timestamps set in the dirstate |
3227923979a1
tests: de-flake test-narrow-share.t by making dirstate predictable
Martin von Zweigbergk <martinvonz@google.com>
parents:
41043
diff
changeset
|
57 $ sleep 2 |
3227923979a1
tests: de-flake test-narrow-share.t by making dirstate predictable
Martin von Zweigbergk <martinvonz@google.com>
parents:
41043
diff
changeset
|
58 $ hg -R main st |
3227923979a1
tests: de-flake test-narrow-share.t by making dirstate predictable
Martin von Zweigbergk <martinvonz@google.com>
parents:
41043
diff
changeset
|
59 $ hg -R main debugdirstate --no-dates |
3227923979a1
tests: de-flake test-narrow-share.t by making dirstate predictable
Martin von Zweigbergk <martinvonz@google.com>
parents:
41043
diff
changeset
|
60 n 644 2 set d1/f |
3227923979a1
tests: de-flake test-narrow-share.t by making dirstate predictable
Martin von Zweigbergk <martinvonz@google.com>
parents:
41043
diff
changeset
|
61 n 644 2 set d3/f |
3227923979a1
tests: de-flake test-narrow-share.t by making dirstate predictable
Martin von Zweigbergk <martinvonz@google.com>
parents:
41043
diff
changeset
|
62 n 644 2 set d5/f |
3227923979a1
tests: de-flake test-narrow-share.t by making dirstate predictable
Martin von Zweigbergk <martinvonz@google.com>
parents:
41043
diff
changeset
|
63 n 644 2 set d7/f |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
64 # Make d3/f dirty |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
65 $ echo x >> main/d3/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
66 $ echo y >> main/d3/g |
42171
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
67 $ touch main/d3/ignored |
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
68 $ touch main/d3/untracked |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
69 $ hg add main/d3/g |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
70 $ hg -R main st |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
71 M d3/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
72 A d3/g |
42171
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
73 ? d3/untracked |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
74 # Make d5/f not match the dirstate timestamp even though it's clean |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
75 $ sleep 2 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
76 $ hg -R main st |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
77 M d3/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
78 A d3/g |
42171
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
79 ? d3/untracked |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
80 $ hg -R main debugdirstate --no-dates |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
81 n 644 2 set d1/f |
41181
3227923979a1
tests: de-flake test-narrow-share.t by making dirstate predictable
Martin von Zweigbergk <martinvonz@google.com>
parents:
41043
diff
changeset
|
82 n 644 2 set d3/f |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
83 a 0 -1 unset d3/g |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
84 n 644 2 set d5/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
85 n 644 2 set d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
86 $ touch main/d5/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
87 $ hg -R share tracked --removeinclude d1 --removeinclude d3 --removeinclude d5 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
88 comparing with ssh://user@dummy/remote |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
89 searching for changes |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
90 looking for local changes to affected paths |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
91 deleting data/d1/f.i |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
92 deleting data/d3/f.i |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
93 deleting data/d5/f.i |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
94 deleting meta/d1/00manifest.i (tree !) |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
95 deleting meta/d3/00manifest.i (tree !) |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
96 deleting meta/d5/00manifest.i (tree !) |
47026
20eba5cef2e0
narrow: add more status messages when narrowing
Martin von Zweigbergk <martinvonz@google.com>
parents:
45483
diff
changeset
|
97 deleting unwanted files from working copy |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
98 $ hg -R main tracked |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
99 I path:d7 |
41043
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
100 $ hg -R main files |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
101 abort: working copy's narrowspec is stale |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
102 (run 'hg tracked --update-working-copy') |
48230
7ed0fc687220
narrow: raise StateError when working copy is stale (for detailed exit code)
Martin von Zweigbergk <martinvonz@google.com>
parents:
47026
diff
changeset
|
103 [20] |
41043
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
104 $ hg -R main tracked --update-working-copy |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
105 not deleting possibly dirty file d3/f |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
106 not deleting possibly dirty file d3/g |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
107 not deleting possibly dirty file d5/f |
42171
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
108 not deleting unknown file d3/untracked |
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
109 not deleting ignored file d3/ignored |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
110 # d1/f, d3/f, d3/g and d5/f should no longer be reported |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
111 $ hg -R main files |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
112 main/d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
113 # d1/f should no longer be there, d3/f should be since it was dirty, d3/g should be there since |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
114 # it was added, and d5/f should be since we couldn't be sure it was clean |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
115 $ find main/d* -type f | sort |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
116 main/d3/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
117 main/d3/g |
42171
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
118 main/d3/ignored |
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
119 main/d3/untracked |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
120 main/d5/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
121 main/d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
122 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
123 Widen the share and check that the main repo's working copy gets updated |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
124 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
125 $ hg -R share tracked --addinclude d1 --addinclude d3 -q |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
126 $ hg -R share tracked |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
127 I path:d1 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
128 I path:d3 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
129 I path:d7 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
130 $ hg -R share files |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
131 share/d1/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
132 share/d3/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
133 share/d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
134 $ hg -R main tracked |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
135 I path:d1 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
136 I path:d3 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
137 I path:d7 |
41043
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
138 $ hg -R main files |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
139 abort: working copy's narrowspec is stale |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
140 (run 'hg tracked --update-working-copy') |
48230
7ed0fc687220
narrow: raise StateError when working copy is stale (for detailed exit code)
Martin von Zweigbergk <martinvonz@google.com>
parents:
47026
diff
changeset
|
141 [20] |
41043
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
142 $ hg -R main tracked --update-working-copy |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
143 # d1/f, d3/f should be back |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
144 $ hg -R main files |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
145 main/d1/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
146 main/d3/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
147 main/d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
148 # d3/f should be modified (not clobbered by the widening), and d3/g should be untracked |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
149 $ hg -R main st --all |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
150 M d3/f |
41043
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
151 ? d3/g |
42171
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
152 ? d3/untracked |
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
153 I d3/ignored |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
154 C d1/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
155 C d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
156 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
157 We should also be able to unshare without breaking everything: |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
158 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
159 $ hg share main share-unshare |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
160 updating working directory |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
161 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
162 $ cd share-unshare |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
163 $ hg unshare |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
164 $ hg verify |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
165 checking changesets |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
166 checking manifests |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
167 checking directory manifests (tree !) |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
168 crosschecking files in changesets and manifests |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
169 checking files |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
170 checked 11 changesets with 3 changes to 3 files |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
171 $ cd .. |
41043
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
172 |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
173 Dirstate should be left alone when upgrading from version of hg that didn't support narrow+share |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
174 |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
175 $ hg share main share-upgrade |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
176 updating working directory |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
177 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
178 $ cd share-upgrade |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
179 $ echo x >> d1/f |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
180 $ echo y >> d3/g |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
181 $ hg add d3/g |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
182 $ hg rm d7/f |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
183 $ hg st |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
184 M d1/f |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
185 A d3/g |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
186 R d7/f |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
187 Make it look like a repo from before narrow+share was supported |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
188 $ rm .hg/narrowspec.dirstate |
41298
88a7c211b21e
narrow: fix crash when restoring backup in legacy repo
Martin von Zweigbergk <martinvonz@google.com>
parents:
41181
diff
changeset
|
189 $ hg ci -Am test |
41043
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
190 abort: working copy's narrowspec is stale |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
191 (run 'hg tracked --update-working-copy') |
48230
7ed0fc687220
narrow: raise StateError when working copy is stale (for detailed exit code)
Martin von Zweigbergk <martinvonz@google.com>
parents:
47026
diff
changeset
|
192 [20] |
41043
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
193 $ hg tracked --update-working-copy |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
194 $ hg st |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
195 M d1/f |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
196 A d3/g |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
197 R d7/f |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
198 $ cd .. |