Mercurial > hg
annotate tests/test-merge-subrepos.t @ 37048:fc5e261915b9
wireproto: require POST for all HTTPv2 requests
Wire protocol version 1 transfers argument data via request
headers by default. This has historically caused problems because
servers institute limits on the length of individual HTTP headers
as well as the total size of all request headers. Mercurial servers
can advertise the maximum length of an individual header. But
there's no guarantee any intermediate HTTP agents will accept
headers up to that length.
In the existing wire protocol, server operators typically also
key off the HTTP request method to implement authentication.
For example, GET requests translate to read-only requests and
can be allowed. But read-write commands must use POST and require
authentication. This has typically worked because the only wire
protocol commands that use POST modify the repo (e.g. the
"unbundle" command).
There is an experimental feature to enable clients to transmit
argument data via POST request bodies. This is technically a
better and more robust solution. But we can't enable it by default
because of servers assuming POST means write access.
In version 2 of the wire protocol, the permissions of a request
are encoded in the URL. And with it being a new protocol in a new
URL space, we're not constrained by backwards compatibility
requirements.
This commit adopts the technically superior mechanism of using
HTTP request bodies to send argument data by requiring POST for
all commands. Strictly speaking, it may be possible to send
request bodies on GET requests. But my experience is that not all
HTTP stacks support this. POST pretty much always works. Using POST
for read-only operations does sacrifice some RESTful design
purity. But this API cares about practicality, not about being
in Roy T. Fielding's REST ivory tower.
There's a chance we may relax this restriction in the future. But
for now, I want to see how far we can get with a POST only API.
Differential Revision: https://phab.mercurial-scm.org/D2837
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 13 Mar 2018 11:57:43 -0700 |
parents | 4441705b7111 |
children | f785073f792c |
rev | line source |
---|---|
13437
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
1 $ hg init |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
2 |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
3 $ echo a > a |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
4 $ 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
|
5 |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
6 $ hg init subrepo |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
7 $ 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
|
8 $ 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
|
9 |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
10 $ hg up -qC 0 |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
11 $ echo ax > a |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
12 $ 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
|
13 created new head |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
14 |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
15 $ hg up -qC 1 |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
16 $ cd subrepo |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
17 $ echo b > b |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
18 $ hg add b |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
19 $ cd .. |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
20 |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
21 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
|
22 |
6169493ac3f9
Do not allow merging with uncommitted changes in a subrepo
Oleg Stepanov <oleg.stepanov@jetbrains.com>
parents:
diff
changeset
|
23 $ hg merge |
33365
6d88468d435b
subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents:
33364
diff
changeset
|
24 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
|
25 [255] |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
26 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
27 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
|
28 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
|
29 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
30 $ hg ci -Sqm 'add b' |
33359
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
31 $ echo change > subrepo/b |
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
32 |
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
33 $ hg ci -Sm 'change b' |
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
34 committing subrepository subrepo |
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
35 |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
36 $ rm a |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
37 $ hg id |
33359
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
38 9bfe45a197d7+ tip |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
39 $ hg sum |
33359
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
40 parent: 4:9bfe45a197d7 tip |
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
41 change b |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
42 branch: default |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
43 commit: 1 deleted (clean) |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
44 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
|
45 phases: 5 draft |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
46 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
47 $ hg up --check -r '.^' |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
48 abort: uncommitted changes |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
49 [255] |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
50 $ hg st -S |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
51 ! a |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
52 $ hg up -Cq . |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
53 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
54 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
|
55 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
56 $ rm subrepo/b |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
57 |
33364
bf2daeddd42b
subrepo: consider the parent repo dirty when a file is missing
Matt Harbison <matt_harbison@yahoo.com>
parents:
33359
diff
changeset
|
58 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
|
59 |
33359
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
60 $ hg id --config extensions.blackbox= --config blackbox.dirty=True |
33364
bf2daeddd42b
subrepo: consider the parent repo dirty when a file is missing
Matt Harbison <matt_harbison@yahoo.com>
parents:
33359
diff
changeset
|
61 9bfe45a197d7+ tip |
33359
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
62 $ cat .hg/blackbox.log |
34450
6981d120c9d7
test-merge-subrepos: make test compatible with chg
Saurabh Singh <singhsrb@fb.com>
parents:
33366
diff
changeset
|
63 * @9bfe45a197d7b0ab09bf287729dd57e9619c9da5+ (*)> serve --cmdserver chgunix * (glob) (chg !) |
35034
02845f7441af
dispatch: verify result of early command parsing
Yuya Nishihara <yuya@tcha.org>
parents:
34450
diff
changeset
|
64 * @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
|
65 * @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
|
66 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
67 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
|
68 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
69 $ hg sum |
33359
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
70 parent: 4:9bfe45a197d7 tip |
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
71 change b |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
72 branch: default |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
73 commit: (clean) |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
74 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
|
75 phases: 5 draft |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
76 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
77 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
|
78 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
79 $ echo mod > subrepo/b |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
80 $ hg st -S |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
81 M subrepo/b |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
82 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
83 $ hg up -r '.^' --check |
33365
6d88468d435b
subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents:
33364
diff
changeset
|
84 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
|
85 [255] |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
86 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
87 $ hg sum |
33359
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
88 parent: 4:9bfe45a197d7 tip |
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
89 change b |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
90 branch: default |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
91 commit: 1 subrepos |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
92 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
|
93 phases: 5 draft |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
94 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
95 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
|
96 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
|
97 $ 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
|
98 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
99 $ rm subrepo/b |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
100 $ hg st -S |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
101 ! subrepo/b |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
102 |
33364
bf2daeddd42b
subrepo: consider the parent repo dirty when a file is missing
Matt Harbison <matt_harbison@yahoo.com>
parents:
33359
diff
changeset
|
103 `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
|
104 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
|
105 |
33364
bf2daeddd42b
subrepo: consider the parent repo dirty when a file is missing
Matt Harbison <matt_harbison@yahoo.com>
parents:
33359
diff
changeset
|
106 $ hg up -r '.^' --check |
33365
6d88468d435b
subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents:
33364
diff
changeset
|
107 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
|
108 [255] |
bf2daeddd42b
subrepo: consider the parent repo dirty when a file is missing
Matt Harbison <matt_harbison@yahoo.com>
parents:
33359
diff
changeset
|
109 |
bf2daeddd42b
subrepo: consider the parent repo dirty when a file is missing
Matt Harbison <matt_harbison@yahoo.com>
parents:
33359
diff
changeset
|
110 $ 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
|
111 > d |
33359
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
112 > EOF |
583aa1e3658b
tests: tweak the subrepo dirty state tests
Matt Harbison <matt_harbison@yahoo.com>
parents:
33196
diff
changeset
|
113 other [destination] changed b which local [working copy] deleted |
33366
062c1bde1781
test-subrepo: demonstrate a status problem when merge deletes a file
Matt Harbison <matt_harbison@yahoo.com>
parents:
33365
diff
changeset
|
114 use (c)hanged version, leave (d)eleted, or leave (u)nresolved? d |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
115 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
|
116 |
33366
062c1bde1781
test-subrepo: demonstrate a status problem when merge deletes a file
Matt Harbison <matt_harbison@yahoo.com>
parents:
33365
diff
changeset
|
117 XXX: There's a difference between wdir() and '.', so there should be a status. |
062c1bde1781
test-subrepo: demonstrate a status problem when merge deletes a file
Matt Harbison <matt_harbison@yahoo.com>
parents:
33365
diff
changeset
|
118 `hg files -S` from the top is also missing 'subrepo/b'. |
062c1bde1781
test-subrepo: demonstrate a status problem when merge deletes a file
Matt Harbison <matt_harbison@yahoo.com>
parents:
33365
diff
changeset
|
119 |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
120 $ hg st -S |
33366
062c1bde1781
test-subrepo: demonstrate a status problem when merge deletes a file
Matt Harbison <matt_harbison@yahoo.com>
parents:
33365
diff
changeset
|
121 $ hg st -R subrepo |
062c1bde1781
test-subrepo: demonstrate a status problem when merge deletes a file
Matt Harbison <matt_harbison@yahoo.com>
parents:
33365
diff
changeset
|
122 $ 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
|
123 [1] |
062c1bde1781
test-subrepo: demonstrate a status problem when merge deletes a file
Matt Harbison <matt_harbison@yahoo.com>
parents:
33365
diff
changeset
|
124 $ 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
|
125 subrepo/b |
33196
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
126 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
127 $ 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
|
128 $ echo xyz > subrepo/c |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
129 $ 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
|
130 adding subrepo/c |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
131 committing subrepository subrepo |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
132 created new head |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
133 $ rm subrepo/c |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
134 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
135 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
|
136 |
439b4d005b4a
tests: demonstrate inconsistencies with dirty state in various commands
Matt Harbison <matt_harbison@yahoo.com>
parents:
19803
diff
changeset
|
137 $ hg merge @other |
33365
6d88468d435b
subrepo: make the output references to subrepositories consistent
Matt Harbison <matt_harbison@yahoo.com>
parents:
33364
diff
changeset
|
138 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
|
139 [255] |