Mercurial > hg
annotate tests/test-narrow-share.t @ 45659:a475db79d84d
changing-files: add a "salvaged" set to track file that were not removed
We need this set for the copy tracing algorithm. See documentation for details
about this set.
Differential Revision: https://phab.mercurial-scm.org/D9118
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 14 Sep 2020 23:46:21 +0200 |
parents | d252f51ab032 |
children | 20eba5cef2e0 |
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 !) |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
97 $ hg -R main tracked |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
98 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
|
99 $ 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
|
100 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
|
101 (run '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
|
102 [255] |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
103 $ 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
|
104 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
|
105 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
|
106 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
|
107 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
|
108 not deleting ignored file d3/ignored |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
109 # 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
|
110 $ hg -R main files |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
111 main/d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
112 # 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
|
113 # 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
|
114 $ find main/d* -type f | sort |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
115 main/d3/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
116 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
|
117 main/d3/ignored |
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
118 main/d3/untracked |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
119 main/d5/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
120 main/d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
121 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
122 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
|
123 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
124 $ 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
|
125 $ hg -R share tracked |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
126 I path:d1 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
127 I path:d3 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
128 I path:d7 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
129 $ hg -R share files |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
130 share/d1/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
131 share/d3/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
132 share/d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
133 $ hg -R main tracked |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
134 I path:d1 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
135 I path:d3 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
136 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
|
137 $ 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
|
138 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
|
139 (run '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
|
140 [255] |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
141 $ hg -R main tracked --update-working-copy |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
142 # d1/f, d3/f should be back |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
143 $ hg -R main files |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
144 main/d1/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
145 main/d3/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
146 main/d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
147 # 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
|
148 $ hg -R main st --all |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
149 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
|
150 ? d3/g |
42171
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
151 ? d3/untracked |
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
152 I d3/ignored |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
153 C d1/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
154 C d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
155 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
156 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
|
157 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
158 $ hg share main share-unshare |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
159 updating working directory |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
160 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
|
161 $ cd share-unshare |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
162 $ hg unshare |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
163 $ hg verify |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
164 checking changesets |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
165 checking manifests |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
166 checking directory manifests (tree !) |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
167 crosschecking files in changesets and manifests |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
168 checking files |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
169 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
|
170 $ cd .. |
41043
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
171 |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
172 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
|
173 |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
174 $ 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
|
175 updating working directory |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
176 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
|
177 $ cd share-upgrade |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
178 $ 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
|
179 $ 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
|
180 $ 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
|
181 $ 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
|
182 $ hg st |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
183 M d1/f |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
184 A d3/g |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
185 R d7/f |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
186 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
|
187 $ 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
|
188 $ 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
|
189 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
|
190 (run '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
|
191 [255] |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
192 $ 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
|
193 $ hg st |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
194 M d1/f |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
195 A d3/g |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
196 R d7/f |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
197 $ cd .. |