Mercurial > hg
annotate tests/test-merge-subrepos.t @ 51181:dcaa2df1f688
changelog: never inline changelog
The test suite mostly use small repositories, that implies that most changelog in the
tests are inlined. As a result, non-inlined changelog are quite poorly tested.
Since non-inline changelog are most common case for serious repositories, this
lack of testing is a significant problem that results in high profile issue like
the one recently fixed by 66417f55ea33 and 849745d7da89.
Inlining the changelog does not bring much to the table, the number of total
file saved is negligible, and the changelog will be read by most operation
anyway.
So this changeset is make it so we never inline the changelog, and de-inline the
one that are still inlined whenever we touch them.
By doing that, we remove the "dual code path" situation for writing new entry to
the changelog and move to a "single code path" situation. Having a single
code path simplify the code and make sure it is covered by test (if test cover
that situation obviously)
This impact all tests that care about the number of file and the exchange size,
but there is nothing too complicated in them just a lot of churn.
The churn is made "worse" by the fact rust will use the persistent nodemap on
any changelog now. Which is overall a win as it means testing the persistent
nodemap more and having less special cases.
In short, having inline changelog is mostly useless and an endless source of
pain. We get rid of it.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 11 Dec 2023 22:27:59 +0100 |
parents | 55c6ebd11cb9 |
children |
rev | line source |
---|---|
49621
55c6ebd11cb9
tests: run many tests in $TESTTMP/repo instead of $TESTTMP
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
47024
diff
changeset
|
1 $ hg init repo |
55c6ebd11cb9
tests: run many tests in $TESTTMP/repo instead of $TESTTMP
Arseniy Alekseyev <aalekseyev@janestreet.com>
parents:
47024
diff
changeset
|
2 $ cd repo |
13437
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
3 |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
4 $ echo a > a |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
5 $ hg ci -qAm 'add a' |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
6 |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
7 $ hg init subrepo |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
8 $ echo 'subrepo = http://example.net/libfoo' > .hgsub |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
9 $ hg ci -qAm 'added subrepo' |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
10 |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
11 $ hg up -qC 0 |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
12 $ echo ax > a |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
13 $ hg ci -m 'changed a' |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
14 created new head |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
15 |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
16 $ hg up -qC 1 |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
17 $ cd subrepo |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
18 $ echo b > b |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
19 $ hg add b |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
20 $ cd .. |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
21 |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
22 Should fail, since there are added files to subrepo: |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
23 |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
24 $ hg merge |
33365
6d88468d435b
subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents:
33364
diff
changeset
|
25 abort: uncommitted changes in subrepository "subrepo" |
13437
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
26 [255] |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
27 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
28 Deleted files trigger a '+' marker in top level repos. Deleted files are also |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
29 noticed by `update --check` in the top level repo. |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
30 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
31 $ hg ci -Sqm 'add b' |
33359
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
32 $ echo change > subrepo/b |
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
33 |
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
34 $ hg ci -Sm 'change b' |
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
35 committing subrepository subrepo |
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
36 |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
37 $ rm a |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
38 $ hg id |
33359
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
39 9bfe45a197d7+ tip |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
40 $ hg sum |
33359
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
41 parent: 4:9bfe45a197d7 tip |
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
42 change b |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
43 branch: default |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
44 commit: 1 deleted (clean) |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
45 update: 1 new changesets, 2 branch heads (merge) |
33359
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
46 phases: 5 draft |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
47 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
48 $ hg up --check -r '.^' |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
49 abort: uncommitted changes |
45840
527ce85c2e60
errors: introduce StateError and use it from commands and cmdutil
Martin von Zweigbergk <martinvonz@google.com>
parents:
42565
diff
changeset
|
50 [20] |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
51 $ hg st -S |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
52 ! a |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
53 $ hg up -Cq . |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
54 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
55 Test that dirty is consistent through subrepos |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
56 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
57 $ rm subrepo/b |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
58 |
33364
bf2daeddd42b
subrepo: consider the parent repo dirty when a file is missing
Matt Harbison <matt_harbison@yahoo.com>
parents:
33359
diff
changeset
|
59 A deleted subrepo file is flagged as dirty, like the top level repo |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
60 |
40992
1de3364320af
tests: filter out uninteresting log events
Yuya Nishihara <yuya@tcha.org>
parents:
39285
diff
changeset
|
61 $ hg id --config extensions.blackbox= --config blackbox.dirty=True \ |
1de3364320af
tests: filter out uninteresting log events
Yuya Nishihara <yuya@tcha.org>
parents:
39285
diff
changeset
|
62 > --config blackbox.track='command commandfinish' |
33364
bf2daeddd42b
subrepo: consider the parent repo dirty when a file is missing
Matt Harbison <matt_harbison@yahoo.com>
parents:
33359
diff
changeset
|
63 9bfe45a197d7+ tip |
33359
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
64 $ cat .hg/blackbox.log |
47024
8fcc0a829f3d
chg: pass --no-profile to disable profiling when starting hg serve
Kyle Lippincott <spectral@google.com>
parents:
46738
diff
changeset
|
65 * @9bfe45a197d7b0ab09bf287729dd57e9619c9da5+ (*)> serve --no-profile --cmdserver chgunix * (glob) (chg !) |
35034
02845f7441af
dispatch: verify result of early command parsing
Yuya Nishihara <yuya@tcha.org>
parents:
34450
diff
changeset
|
66 * @9bfe45a197d7b0ab09bf287729dd57e9619c9da5+ (*)> id --config *extensions.blackbox=* --config *blackbox.dirty=True* (glob) |
33364
bf2daeddd42b
subrepo: consider the parent repo dirty when a file is missing
Matt Harbison <matt_harbison@yahoo.com>
parents:
33359
diff
changeset
|
67 * @9bfe45a197d7b0ab09bf287729dd57e9619c9da5+ (*)> id --config *extensions.blackbox=* --config *blackbox.dirty=True* exited 0 * (glob) |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
68 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
69 TODO: a deleted file should be listed as such, like the top level repo |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
70 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
71 $ hg sum |
33359
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
72 parent: 4:9bfe45a197d7 tip |
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
73 change b |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
74 branch: default |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
75 commit: (clean) |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
76 update: 1 new changesets, 2 branch heads (merge) |
33359
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
77 phases: 5 draft |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
78 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
79 Modified subrepo files are noticed by `update --check` and `summary` |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
80 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
81 $ echo mod > subrepo/b |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
82 $ hg st -S |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
83 M subrepo/b |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
84 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
85 $ hg up -r '.^' --check |
33365
6d88468d435b
subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents:
33364
diff
changeset
|
86 abort: uncommitted changes in subrepository "subrepo" |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
87 [255] |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
88 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
89 $ hg sum |
33359
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
90 parent: 4:9bfe45a197d7 tip |
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
91 change b |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
92 branch: default |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
93 commit: 1 subrepos |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
94 update: 1 new changesets, 2 branch heads (merge) |
33359
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
95 phases: 5 draft |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
96 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
97 TODO: why is -R needed here? If it's because the subrepo is treated as a |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
98 discrete unit, then this should probably warn or something. |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
99 $ hg revert -R subrepo --no-backup subrepo/b -r . |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
100 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
101 $ rm subrepo/b |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
102 $ hg st -S |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
103 ! subrepo/b |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
104 |
33364
bf2daeddd42b
subrepo: consider the parent repo dirty when a file is missing
Matt Harbison <matt_harbison@yahoo.com>
parents:
33359
diff
changeset
|
105 `hg update --check` notices a subrepo with a missing file, like it notices a |
bf2daeddd42b
subrepo: consider the parent repo dirty when a file is missing
Matt Harbison <matt_harbison@yahoo.com>
parents:
33359
diff
changeset
|
106 missing file in the top level repo. |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
107 |
33364
bf2daeddd42b
subrepo: consider the parent repo dirty when a file is missing
Matt Harbison <matt_harbison@yahoo.com>
parents:
33359
diff
changeset
|
108 $ hg up -r '.^' --check |
33365
6d88468d435b
subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents:
33364
diff
changeset
|
109 abort: uncommitted changes in subrepository "subrepo" |
33364
bf2daeddd42b
subrepo: consider the parent repo dirty when a file is missing
Matt Harbison <matt_harbison@yahoo.com>
parents:
33359
diff
changeset
|
110 [255] |
bf2daeddd42b
subrepo: consider the parent repo dirty when a file is missing
Matt Harbison <matt_harbison@yahoo.com>
parents:
33359
diff
changeset
|
111 |
bf2daeddd42b
subrepo: consider the parent repo dirty when a file is missing
Matt Harbison <matt_harbison@yahoo.com>
parents:
33359
diff
changeset
|
112 $ hg up -r '.^' --config ui.interactive=True << EOF |
33366
062c1bde1781
test-subrepo: demonstrate a status problem when merge deletes a file
Matt Harbison <matt_harbison@yahoo.com>
parents:
33365
diff
changeset
|
113 > d |
33359
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
114 > EOF |
39285
a3fd84f4fb38
filemerge: fix the wrong placements of messages in prompt
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
39284
diff
changeset
|
115 file 'b' was deleted in local [working copy] but was modified in other [destination]. |
42565
4764e8436b2a
filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents:
40992
diff
changeset
|
116 You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved. |
4764e8436b2a
filemerge: make last line of prompts <40 english chars (issue6158)
Kyle Lippincott <spectral@google.com>
parents:
40992
diff
changeset
|
117 What do you want to do? d |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
118 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
119 |
33366
062c1bde1781
test-subrepo: demonstrate a status problem when merge deletes a file
Matt Harbison <matt_harbison@yahoo.com>
parents:
33365
diff
changeset
|
120 XXX: There's a difference between wdir() and '.', so there should be a status. |
46738
b4ad45f2f648
tests: clarify some missing output in test-merge-subrepos
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
45840
diff
changeset
|
121 `hg files -S` from the top is also missing 'subrepo/b'. The files should be |
b4ad45f2f648
tests: clarify some missing output in test-merge-subrepos
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
45840
diff
changeset
|
122 seen as deleted (and, maybe even missing? in which case `hg files` should list |
b4ad45f2f648
tests: clarify some missing output in test-merge-subrepos
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
45840
diff
changeset
|
123 it) |
33366
062c1bde1781
test-subrepo: demonstrate a status problem when merge deletes a file
Matt Harbison <matt_harbison@yahoo.com>
parents:
33365
diff
changeset
|
124 |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
125 $ hg st -S |
46738
b4ad45f2f648
tests: clarify some missing output in test-merge-subrepos
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
45840
diff
changeset
|
126 R subrepo/b (missing-correct-output !) |
33366
062c1bde1781
test-subrepo: demonstrate a status problem when merge deletes a file
Matt Harbison <matt_harbison@yahoo.com>
parents:
33365
diff
changeset
|
127 $ hg st -R subrepo |
46738
b4ad45f2f648
tests: clarify some missing output in test-merge-subrepos
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
45840
diff
changeset
|
128 R subrepo/b (missing-correct-output !) |
b4ad45f2f648
tests: clarify some missing output in test-merge-subrepos
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
45840
diff
changeset
|
129 |
b4ad45f2f648
tests: clarify some missing output in test-merge-subrepos
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
45840
diff
changeset
|
130 (note: return [1] because no files "match" since the list is empty) |
b4ad45f2f648
tests: clarify some missing output in test-merge-subrepos
Pierre-Yves David <pierre-yves.david@octobus.net>
parents:
45840
diff
changeset
|
131 |
33366
062c1bde1781
test-subrepo: demonstrate a status problem when merge deletes a file
Matt Harbison <matt_harbison@yahoo.com>
parents:
33365
diff
changeset
|
132 $ hg files -R subrepo |
062c1bde1781
test-subrepo: demonstrate a status problem when merge deletes a file
Matt Harbison <matt_harbison@yahoo.com>
parents:
33365
diff
changeset
|
133 [1] |
062c1bde1781
test-subrepo: demonstrate a status problem when merge deletes a file
Matt Harbison <matt_harbison@yahoo.com>
parents:
33365
diff
changeset
|
134 $ hg files -R subrepo -r '.' |
35393
4441705b7111
tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents:
35034
diff
changeset
|
135 subrepo/b |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
136 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
137 $ hg bookmark -r tip @other |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
138 $ echo xyz > subrepo/c |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
139 $ hg ci -SAm 'add c' |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
140 adding subrepo/c |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
141 committing subrepository subrepo |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
142 created new head |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
143 $ rm subrepo/c |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
144 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
145 Merge sees deleted subrepo files as an uncommitted change |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
146 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
147 $ hg merge @other |
33365
6d88468d435b
subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents:
33364
diff
changeset
|
148 abort: uncommitted changes in subrepository "subrepo" |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
149 [255] |