Mercurial > hg
annotate tests/test-narrow-share.t @ 45587:768412472663
merge: store cases when a file is absent post merge in commitinfo
Some merges can result in file being absent form working directory. This can be
one of file was kept deleted or file was removed by merge code.
User might revert the file back before committing. In such cases we will like to
have better handling and create new filenodes.
We store this info in mergestate as commitinfo so that we can use it while
committing to create new filenode if required.
Differential Revision: https://phab.mercurial-scm.org/D9003
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Mon, 24 Aug 2020 15:35:34 +0530 |
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 .. |