Mercurial > hg
annotate tests/test-narrow-share.t @ 44985:1ca0047fd7e1
absorb: preserve changesets which were already empty
Most commands in Mercurial (commit, rebase, absorb itself) don’t create empty
changesets or drop them if they become empty. If there’s a changeset that’s
empty, it must be a deliberate choice of the user. At least it shouldn’t be
absorb’s responsibility to prune them. The fact that changesets that became
empty during absorb are pruned, is unaffected by this.
This case was found while writing patches which make it possible to configure
absorb and rebase to not drop empty changesets. Even without having such config
set, I think it’s valuable to preserve changesets which were already empty.
author | Manuel Jacob <me@manueljacob.de> |
---|---|
date | Mon, 01 Jun 2020 20:57:14 +0200 |
parents | 84bd6ae2d1f6 |
children | d252f51ab032 |
rev | line source |
---|---|
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
1 #testcases flat tree |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
2 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
3 $ . "$TESTDIR/narrow-library.sh" |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
4 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
5 #if tree |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
6 $ cat << EOF >> $HGRCPATH |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
7 > [experimental] |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
8 > treemanifest = 1 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
9 > EOF |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
10 #endif |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
11 |
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 > [extensions] |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
14 > share = |
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 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
17 $ hg init remote |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
18 $ cd remote |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
19 $ for x in `$TESTDIR/seq.py 0 10` |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
20 > do |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
21 > mkdir d$x |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
22 > echo $x > d$x/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
23 > hg add d$x/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
24 > hg commit -m "add d$x/f" |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
25 > done |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
26 $ cd .. |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
27 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
28 $ 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
|
29 > --include d1 --include d3 --include d5 --include d7 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
30 |
42171
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
31 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
|
32 $ 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
|
33 |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
34 $ hg share main share |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
35 updating working directory |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
36 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
|
37 $ hg -R share tracked |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
38 I path:d1 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
39 I path:d3 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
40 I path:d5 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
41 I path:d7 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
42 $ hg -R share files |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
43 share/d1/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
44 share/d3/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
45 share/d5/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
46 share/d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
47 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
48 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
|
49 |
41181
3227923979a1
tests: de-flake test-narrow-share.t by making dirstate predictable
Martin von Zweigbergk <martinvonz@google.com>
parents:
41043
diff
changeset
|
50 # 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
|
51 $ sleep 2 |
3227923979a1
tests: de-flake test-narrow-share.t by making dirstate predictable
Martin von Zweigbergk <martinvonz@google.com>
parents:
41043
diff
changeset
|
52 $ 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
|
53 $ 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
|
54 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
|
55 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
|
56 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
|
57 n 644 2 set d7/f |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
58 # Make d3/f dirty |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
59 $ echo x >> main/d3/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
60 $ 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
|
61 $ 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
|
62 $ touch main/d3/untracked |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
63 $ hg add main/d3/g |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
64 $ hg -R main st |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
65 M d3/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
66 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
|
67 ? d3/untracked |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
68 # 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
|
69 $ sleep 2 |
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 $ hg -R main debugdirstate --no-dates |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
75 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
|
76 n 644 2 set d3/f |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
77 a 0 -1 unset d3/g |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
78 n 644 2 set d5/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
79 n 644 2 set d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
80 $ touch main/d5/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
81 $ 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
|
82 comparing with ssh://user@dummy/remote |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
83 searching for changes |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
84 looking for local changes to affected paths |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
85 deleting data/d1/f.i |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
86 deleting data/d3/f.i |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
87 deleting data/d5/f.i |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
88 deleting meta/d1/00manifest.i (tree !) |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
89 deleting meta/d3/00manifest.i (tree !) |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
90 deleting meta/d5/00manifest.i (tree !) |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
91 $ hg -R main tracked |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
92 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
|
93 $ 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
|
94 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
|
95 (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
|
96 [255] |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
97 $ 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
|
98 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
|
99 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
|
100 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
|
101 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
|
102 not deleting ignored file d3/ignored |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
103 # 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
|
104 $ hg -R main files |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
105 main/d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
106 # 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
|
107 # 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
|
108 $ find main/d* -type f | sort |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
109 main/d3/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
110 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
|
111 main/d3/ignored |
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
112 main/d3/untracked |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
113 main/d5/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
114 main/d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
115 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
116 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
|
117 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
118 $ 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
|
119 $ hg -R share tracked |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
120 I path:d1 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
121 I path:d3 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
122 I path:d7 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
123 $ hg -R share files |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
124 share/d1/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
125 share/d3/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
126 share/d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
127 $ hg -R main tracked |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
128 I path:d1 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
129 I path:d3 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
130 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
|
131 $ 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
|
132 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
|
133 (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
|
134 [255] |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
135 $ hg -R main tracked --update-working-copy |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
136 # d1/f, d3/f should be back |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
137 $ hg -R main files |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
138 main/d1/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
139 main/d3/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
140 main/d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
141 # 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
|
142 $ hg -R main st --all |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
143 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
|
144 ? d3/g |
42171
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
145 ? d3/untracked |
84bd6ae2d1f6
narrow: also warn when not deleting untracked or ignored files
Martin von Zweigbergk <martinvonz@google.com>
parents:
41298
diff
changeset
|
146 I d3/ignored |
41042
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
147 C d1/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
148 C d7/f |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
149 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
150 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
|
151 |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
152 $ hg share main share-unshare |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
153 updating working directory |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
154 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
|
155 $ cd share-unshare |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
156 $ hg unshare |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
157 $ hg verify |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
158 checking changesets |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
159 checking manifests |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
160 checking directory manifests (tree !) |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
161 crosschecking files in changesets and manifests |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
162 checking files |
7db1619af061
tests: add test for narrow+share
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
163 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
|
164 $ cd .. |
41043
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
165 |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
166 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
|
167 |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
168 $ 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
|
169 updating working directory |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
170 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
|
171 $ cd share-upgrade |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
172 $ 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
|
173 $ 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
|
174 $ 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
|
175 $ 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
|
176 $ hg st |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
177 M d1/f |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
178 A d3/g |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
179 R d7/f |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
180 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
|
181 $ 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
|
182 $ 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
|
183 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
|
184 (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
|
185 [255] |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
186 $ 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
|
187 $ hg st |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
188 M d1/f |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
189 A d3/g |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
190 R d7/f |
ce0bc2952e2a
narrow: detect if narrowspec was changed in a different share
Martin von Zweigbergk <martinvonz@google.com>
parents:
41042
diff
changeset
|
191 $ cd .. |