Mercurial > hg
annotate tests/test-amend-subrepo.t @ 44574:5205b46bd887
fix: add a -s option to format a revision and its descendants
`hg fix -r abc123` will format that commit but not its
descendants. That seems expected given the option name (`-r`), but
it's very rarely what the user wants to do. The problem is that any
descendants of that commit will not be formatted, leaving them as
orphans that are hard to evolve. They are hard to evolve because the
new parent will have formatting changes that the orphan doesn't have.
I talked to Danny Hooper (who wrote most of the fix extension) about
the problem and we agreed that deprecating `-r` in favor of a new `-s`
argument (mimicing rebase's `-s`) would be a good way of reducing the
risk that users end up with these hard-to-evolve orphans. So that's
what this patch implements.
Differential Revision: https://phab.mercurial-scm.org/D8287
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 13 Mar 2020 12:16:00 -0700 |
parents | 4b7d5d10c45d |
children | c84844cd523a |
rev | line source |
---|---|
35024
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
1 #testcases obsstore-off obsstore-on |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
2 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
3 $ cat << EOF >> $HGRCPATH |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
4 > [extensions] |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
5 > amend = |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
6 > EOF |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
7 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
8 #if obsstore-on |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
9 $ cat << EOF >> $HGRCPATH |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
10 > [experimental] |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
11 > evolution.createmarkers = True |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
12 > EOF |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
13 #endif |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
14 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
15 Prepare parent repo |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
16 ------------------- |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
17 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
18 $ hg init r |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
19 $ cd r |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
20 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
21 $ echo a > a |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
22 $ hg ci -Am0 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
23 adding a |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
24 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
25 Link first subrepo |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
26 ------------------ |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
27 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
28 $ echo 's = s' >> .hgsub |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
29 $ hg add .hgsub |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
30 $ hg init s |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
31 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
32 amend without .hgsub |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
33 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
34 $ hg amend s |
35026
691524f0bbf6
amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents:
35024
diff
changeset
|
35 abort: can't commit subrepos without .hgsub |
691524f0bbf6
amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents:
35024
diff
changeset
|
36 [255] |
35024
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
37 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
38 amend with subrepo |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
39 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
40 $ hg amend |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
41 saved backup bundle to * (glob) (obsstore-off !) |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
42 $ hg status --change . |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
43 A .hgsub |
35026
691524f0bbf6
amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents:
35024
diff
changeset
|
44 A .hgsubstate |
35024
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
45 A a |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
46 $ cat .hgsubstate |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
47 0000000000000000000000000000000000000000 s |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
48 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
49 Update subrepo |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
50 -------------- |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
51 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
52 add new commit to be amended |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
53 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
54 $ echo a >> a |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
55 $ hg ci -m1 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
56 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
57 amend with dirty subrepo |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
58 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
59 $ echo a >> s/a |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
60 $ hg add -R s |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35166
diff
changeset
|
61 adding s/a |
35024
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
62 $ hg amend |
35026
691524f0bbf6
amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents:
35024
diff
changeset
|
63 abort: uncommitted changes in subrepository "s" |
691524f0bbf6
amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents:
35024
diff
changeset
|
64 (use --subrepos for recursive commit) |
691524f0bbf6
amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents:
35024
diff
changeset
|
65 [255] |
35024
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
66 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
67 amend with modified subrepo |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
68 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
69 $ hg ci -R s -m0 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
70 $ hg amend |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
71 saved backup bundle to * (glob) (obsstore-off !) |
35026
691524f0bbf6
amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents:
35024
diff
changeset
|
72 $ hg status --change . |
691524f0bbf6
amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents:
35024
diff
changeset
|
73 M .hgsubstate |
691524f0bbf6
amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents:
35024
diff
changeset
|
74 M a |
35024
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
75 $ cat .hgsubstate |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
76 f7b1eb17ad24730a1651fccd46c43826d1bbc2ac s |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
77 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
78 revert subrepo change |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
79 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
80 $ hg up -R s -q null |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
81 $ hg amend |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
82 saved backup bundle to * (glob) (obsstore-off !) |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
83 $ hg status --change . |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
84 M a |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
85 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
86 Link another subrepo |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
87 -------------------- |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
88 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
89 add new commit to be amended |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
90 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
91 $ echo b >> b |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
92 $ hg ci -qAm2 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
93 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
94 also checks if non-subrepo change is included |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
95 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
96 $ echo a >> a |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
97 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
98 amend with another subrepo |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
99 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
100 $ hg init t |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
101 $ echo b >> t/b |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
102 $ hg ci -R t -Am0 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
103 adding b |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
104 $ echo 't = t' >> .hgsub |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
105 $ hg amend |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
106 saved backup bundle to * (glob) (obsstore-off !) |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
107 $ hg status --change . |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
108 M .hgsub |
35026
691524f0bbf6
amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents:
35024
diff
changeset
|
109 M .hgsubstate |
35024
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
110 M a |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
111 A b |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
112 $ cat .hgsubstate |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
113 0000000000000000000000000000000000000000 s |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
114 bfb1a4fb358498a9533dabf4f2043d94162f1fcd t |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
115 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
116 Unlink one subrepo |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
117 ------------------ |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
118 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
119 add new commit to be amended |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
120 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
121 $ echo a >> a |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
122 $ hg ci -m3 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
123 |
41977
4ea21df312ec
record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents:
35393
diff
changeset
|
124 $ echo 't = t' > .hgsub |
4ea21df312ec
record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents:
35393
diff
changeset
|
125 |
4ea21df312ec
record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents:
35393
diff
changeset
|
126 --interactive won't silently ignore dirty subrepos |
4ea21df312ec
record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents:
35393
diff
changeset
|
127 |
4ea21df312ec
record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents:
35393
diff
changeset
|
128 $ echo modified > t/b |
4ea21df312ec
record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents:
35393
diff
changeset
|
129 $ hg amend --interactive --config ui.interactive=True |
4ea21df312ec
record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents:
35393
diff
changeset
|
130 abort: uncommitted changes in subrepository "t" |
4ea21df312ec
record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents:
35393
diff
changeset
|
131 [255] |
4ea21df312ec
record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents:
35393
diff
changeset
|
132 $ hg amend --interactive --config ui.interactive=True --config ui.commitsubrepos=True |
4ea21df312ec
record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents:
35393
diff
changeset
|
133 abort: uncommitted changes in subrepository "t" |
4ea21df312ec
record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents:
35393
diff
changeset
|
134 [255] |
4ea21df312ec
record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents:
35393
diff
changeset
|
135 |
4ea21df312ec
record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents:
35393
diff
changeset
|
136 $ hg -R t revert -q --all --no-backup |
4ea21df312ec
record: prevent commits that don't pick up dirty subrepo changes (issue6102)
Matt Harbison <matt_harbison@yahoo.com>
parents:
35393
diff
changeset
|
137 |
35024
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
138 amend with one subrepo dropped |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
139 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
140 $ hg amend |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
141 saved backup bundle to * (glob) (obsstore-off !) |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
142 $ hg status --change . |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
143 M .hgsub |
35026
691524f0bbf6
amend: update .hgsubstate before committing a memctx (issue5677)
Yuya Nishihara <yuya@tcha.org>
parents:
35024
diff
changeset
|
144 M .hgsubstate |
35024
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
145 M a |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
146 $ cat .hgsubstate |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
147 bfb1a4fb358498a9533dabf4f2043d94162f1fcd t |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
148 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
149 Unlink subrepos completely |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
150 -------------------------- |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
151 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
152 add new commit to be amended |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
153 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
154 $ echo a >> a |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
155 $ hg ci -m3 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
156 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
157 amend with .hgsub removed |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
158 |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
159 $ hg rm .hgsub |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
160 $ hg amend |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
161 saved backup bundle to * (glob) (obsstore-off !) |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
162 $ hg status --change . |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
163 M a |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
164 R .hgsub |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
165 R .hgsubstate |
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
166 |
43913
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
167 broken repositories will refuse to push |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
168 |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
169 #if obsstore-off |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
170 $ hg up -q -C 2 |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
171 #else |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
172 $ hg up -q -C 6 |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
173 #endif |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
174 $ echo c >> t/b |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
175 $ hg amend -q -R t |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
176 |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
177 $ hg init ../dest |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
178 $ hg init ../dest/t |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
179 $ hg init ../dest/s |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
180 $ hg push -q ../dest |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
181 abort: subrepo 't' is hidden in revision 04aa62396ec6 (obsstore-on !) |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
182 abort: subrepo 't' not found in revision 04aa62396ec6 (obsstore-off !) |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
183 [255] |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
184 |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
185 ... unless forced |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
186 |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
187 $ hg push --force -q ../dest |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
188 $ hg verify -R ../dest |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
189 checking changesets |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
190 checking manifests |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
191 crosschecking files in changesets and manifests |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
192 checking files |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
193 checked 5 changesets with 12 changes to 4 files |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
194 checking subrepo links |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
195 subrepo 't' not found in revision 04aa62396ec6 |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
196 subrepo 't' not found in revision 6bce99600681 |
4b7d5d10c45d
exchange: ensure all outgoing subrepo references are present before pushing
Matt Harbison <matt_harbison@yahoo.com>
parents:
41977
diff
changeset
|
197 |
35024
3f909147a2c3
tests: demonstrate that .hgsubstate isn't updated on amend
Yuya Nishihara <yuya@tcha.org>
parents:
diff
changeset
|
198 $ cd .. |