annotate tests/test-add.t @ 36754:e3c228b4510d stable

wireproto: declare operation type for most commands (BC) (SEC) The permissions model of hgweb relies on a dictionary to declare the operation associated with each command - either "pull" or "push." This dictionary was established by d3147b4e3e8a in 2008. Unfortunately, we neglected to update this dictionary as new wire protocol commands were introduced. This commit defines the operations of most wire protocol commands in the permissions dictionary. The "batch" command is omitted because it is special and requires a more complex solution. Since permissions checking is skipped unless a command has an entry in this dictionary (this security issue will be addressed in a subsequent commit), the practical effect of this change is that various wire protocol commands now HTTP 401 if web.deny_read or web.allow-pull, etc are set to deny access. This is reflected by test changes. Note how various `hg pull` and `hg push` operations now fail before discovery. (They fail during the initial "capabilities" request.) This change fixes a security issue where built-in wire protocol commands would return repository data even if the web config were configured to deny access to that data. I'm on the fence as to whether we should HTTP 401 the capabilities request. On one hand, it can expose repository metadata and can tell callers things like what version of Mercurial the server is running. On the other hand, a client may need to know the capabilities in order to authenticate in a follow-up request. It appears that Mercurial clients handle the HTTP 401 on *any* protocol request, so we should be OK sending a 401 for "capabilities." But if this causes problems, it should be possible to allow "capabilities" to always work. .. bc:: Various read-only wire protocol commands now return HTTP 401 Unauthorized if the hgweb configuration denies read/pull access to the repository. Previously, various wire protocol commands would still work and return data if read access was disabled.
author Gregory Szorc <gregory.szorc@gmail.com>
date Tue, 20 Feb 2018 18:54:27 -0800
parents 41ef02ba329b
children deb851914fd7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
1 $ hg init a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
2 $ cd a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
3 $ echo a > a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
4 $ hg add -n
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
5 adding a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
6 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
7 ? a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
8 $ hg add
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
9 adding a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
10 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
11 A a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
12 $ hg forget a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
13 $ hg add
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
14 adding a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
15 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
16 A a
33501
7008f6819002 context: name files relative to cwd in warning messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 32398
diff changeset
17 $ mkdir dir
7008f6819002 context: name files relative to cwd in warning messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 32398
diff changeset
18 $ cd dir
7008f6819002 context: name files relative to cwd in warning messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 32398
diff changeset
19 $ hg add ../a
7008f6819002 context: name files relative to cwd in warning messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 32398
diff changeset
20 ../a already tracked!
7008f6819002 context: name files relative to cwd in warning messages
Matt Harbison <matt_harbison@yahoo.com>
parents: 32398
diff changeset
21 $ cd ..
5207
212de429e000 make hg add of a removed file unremove the file
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
22
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
23 $ echo b > b
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
24 $ hg add -n b
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
25 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
26 A a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
27 ? b
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
28 $ hg add b
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
29 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
30 A a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
31 A b
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
32
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
33 should fail
5207
212de429e000 make hg add of a removed file unremove the file
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
34
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
35 $ hg add b
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
36 b already tracked!
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
37 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
38 A a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
39 A b
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
40
16875
ee9bd7ef0a0e test-add: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 15524
diff changeset
41 #if no-windows
13962
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
42 $ echo foo > con.xml
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
43 $ hg --config ui.portablefilenames=jump add con.xml
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
44 abort: ui.portablefilenames value is invalid ('jump')
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
45 [255]
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
46 $ hg --config ui.portablefilenames=abort add con.xml
33798
2cd5aba5e1d2 scmutil: use util.shellquote instead of %r
Augie Fackler <augie@google.com>
parents: 33501
diff changeset
47 abort: filename contains 'con', which is reserved on Windows: con.xml
13962
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
48 [255]
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
49 $ hg st
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
50 A a
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
51 A b
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
52 ? con.xml
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
53 $ hg add con.xml
33798
2cd5aba5e1d2 scmutil: use util.shellquote instead of %r
Augie Fackler <augie@google.com>
parents: 33501
diff changeset
54 warning: filename contains 'con', which is reserved on Windows: con.xml
13962
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
55 $ hg st
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
56 A a
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
57 A b
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
58 A con.xml
16974
01ed5bb5cd41 tests: use hghave eol-in-paths to test for support for ':' in filenames and " "
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
59 $ hg forget con.xml
01ed5bb5cd41 tests: use hghave eol-in-paths to test for support for ':' in filenames and " "
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
60 $ rm con.xml
01ed5bb5cd41 tests: use hghave eol-in-paths to test for support for ':' in filenames and " "
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
61 #endif
01ed5bb5cd41 tests: use hghave eol-in-paths to test for support for ':' in filenames and " "
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
62
01ed5bb5cd41 tests: use hghave eol-in-paths to test for support for ':' in filenames and " "
Mads Kiilerich <mads@kiilerich.com>
parents: 16913
diff changeset
63 #if eol-in-paths
13962
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
64 $ echo bla > 'hello:world'
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
65 $ hg --config ui.portablefilenames=abort add
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
66 adding hello:world
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
67 abort: filename contains ':', which is reserved on Windows: 'hello:world'
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
68 [255]
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
69 $ hg st
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
70 A a
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
71 A b
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
72 ? hello:world
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
73 $ hg --config ui.portablefilenames=ignore add
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
74 adding hello:world
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
75 $ hg st
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
76 A a
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
77 A b
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
78 A hello:world
16875
ee9bd7ef0a0e test-add: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 15524
diff changeset
79 #endif
13962
8b252e826c68 add: introduce a warning message for non-portable filenames (issue2756) (BC)
Adrian Buehlmann <adrian@cadifra.com>
parents: 12399
diff changeset
80
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
81 $ hg ci -m 0 --traceback
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
82
25689
1cce81121472 revset: fix a crash in parents() when 'wdir()' is in the set
Matt Harbison <matt_harbison@yahoo.com>
parents: 24807
diff changeset
83 $ hg log -r "heads(. or wdir() & file('**'))"
1cce81121472 revset: fix a crash in parents() when 'wdir()' is in the set
Matt Harbison <matt_harbison@yahoo.com>
parents: 24807
diff changeset
84 changeset: 0:* (glob)
1cce81121472 revset: fix a crash in parents() when 'wdir()' is in the set
Matt Harbison <matt_harbison@yahoo.com>
parents: 24807
diff changeset
85 tag: tip
1cce81121472 revset: fix a crash in parents() when 'wdir()' is in the set
Matt Harbison <matt_harbison@yahoo.com>
parents: 24807
diff changeset
86 user: test
1cce81121472 revset: fix a crash in parents() when 'wdir()' is in the set
Matt Harbison <matt_harbison@yahoo.com>
parents: 24807
diff changeset
87 date: Thu Jan 01 00:00:00 1970 +0000
1cce81121472 revset: fix a crash in parents() when 'wdir()' is in the set
Matt Harbison <matt_harbison@yahoo.com>
parents: 24807
diff changeset
88 summary: 0
1cce81121472 revset: fix a crash in parents() when 'wdir()' is in the set
Matt Harbison <matt_harbison@yahoo.com>
parents: 24807
diff changeset
89
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
90 should fail
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
91
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
92 $ hg add a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
93 a already tracked!
5207
212de429e000 make hg add of a removed file unremove the file
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
94
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
95 $ echo aa > a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
96 $ hg ci -m 1
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
97 $ hg up 0
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
98 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
99 $ echo aaa > a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
100 $ hg ci -m 2
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
101 created new head
5207
212de429e000 make hg add of a removed file unremove the file
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
102
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
103 $ hg merge
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
104 merging a
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 26000
diff changeset
105 warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
106 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
35704
41ef02ba329b merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com>
parents: 35393
diff changeset
107 use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12314
diff changeset
108 [1]
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
109 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
110 M a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
111 ? a.orig
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
112
25689
1cce81121472 revset: fix a crash in parents() when 'wdir()' is in the set
Matt Harbison <matt_harbison@yahoo.com>
parents: 24807
diff changeset
113 wdir doesn't cause a crash, and can be dynamically selected if dirty
1cce81121472 revset: fix a crash in parents() when 'wdir()' is in the set
Matt Harbison <matt_harbison@yahoo.com>
parents: 24807
diff changeset
114
1cce81121472 revset: fix a crash in parents() when 'wdir()' is in the set
Matt Harbison <matt_harbison@yahoo.com>
parents: 24807
diff changeset
115 $ hg log -r "heads(. or wdir() & file('**'))"
25762
f4412380d357 changeset_printer: display wdirrev/wdirnode values for workingctx
Yuya Nishihara <yuya@tcha.org>
parents: 25689
diff changeset
116 changeset: 2147483647:ffffffffffff
25689
1cce81121472 revset: fix a crash in parents() when 'wdir()' is in the set
Matt Harbison <matt_harbison@yahoo.com>
parents: 24807
diff changeset
117 parent: 2:* (glob)
1cce81121472 revset: fix a crash in parents() when 'wdir()' is in the set
Matt Harbison <matt_harbison@yahoo.com>
parents: 24807
diff changeset
118 parent: 1:* (glob)
1cce81121472 revset: fix a crash in parents() when 'wdir()' is in the set
Matt Harbison <matt_harbison@yahoo.com>
parents: 24807
diff changeset
119 user: test
1cce81121472 revset: fix a crash in parents() when 'wdir()' is in the set
Matt Harbison <matt_harbison@yahoo.com>
parents: 24807
diff changeset
120 date: * (glob)
1cce81121472 revset: fix a crash in parents() when 'wdir()' is in the set
Matt Harbison <matt_harbison@yahoo.com>
parents: 24807
diff changeset
121
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
122 should fail
5207
212de429e000 make hg add of a removed file unremove the file
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff changeset
123
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
124 $ hg add a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
125 a already tracked!
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
126 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
127 M a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
128 ? a.orig
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
129 $ hg resolve -m a
21947
b081decd9062 resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21267
diff changeset
130 (no more unresolved files)
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
131 $ hg ci -m merge
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
132
12399
4fee1fd3de9a tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents: 12365
diff changeset
133 Issue683: peculiarity with hg revert of an removed then added file
5688
883d887c6408 commands: add exits(1) if a specified file cannot be added (issue 891)
Patrick Mezard <pmezard@gmail.com>
parents: 5207
diff changeset
134
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
135 $ hg forget a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
136 $ hg add a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
137 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
138 ? a.orig
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
139 $ hg rm a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
140 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
141 R a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
142 ? a.orig
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
143 $ echo a > a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
144 $ hg add a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
145 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
146 M a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
147 ? a.orig
5688
883d887c6408 commands: add exits(1) if a specified file cannot be added (issue 891)
Patrick Mezard <pmezard@gmail.com>
parents: 5207
diff changeset
148
23258
10697f29af2b add: add back forgotten files even when not matching exactly (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 21947
diff changeset
149 Forgotten file can be added back (as either clean or modified)
10697f29af2b add: add back forgotten files even when not matching exactly (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 21947
diff changeset
150
10697f29af2b add: add back forgotten files even when not matching exactly (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 21947
diff changeset
151 $ hg forget b
10697f29af2b add: add back forgotten files even when not matching exactly (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 21947
diff changeset
152 $ hg add b
10697f29af2b add: add back forgotten files even when not matching exactly (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 21947
diff changeset
153 $ hg st -A b
10697f29af2b add: add back forgotten files even when not matching exactly (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 21947
diff changeset
154 C b
10697f29af2b add: add back forgotten files even when not matching exactly (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 21947
diff changeset
155 $ hg forget b
10697f29af2b add: add back forgotten files even when not matching exactly (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 21947
diff changeset
156 $ echo modified > b
10697f29af2b add: add back forgotten files even when not matching exactly (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 21947
diff changeset
157 $ hg add b
10697f29af2b add: add back forgotten files even when not matching exactly (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 21947
diff changeset
158 $ hg st -A b
10697f29af2b add: add back forgotten files even when not matching exactly (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 21947
diff changeset
159 M b
10697f29af2b add: add back forgotten files even when not matching exactly (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 21947
diff changeset
160 $ hg revert -qC b
10697f29af2b add: add back forgotten files even when not matching exactly (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 21947
diff changeset
161
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
162 $ hg add c && echo "unexpected addition of missing file"
15521
117f9190c1ba tests: hide 'No such file or directory' messages
Mads Kiilerich <mads@kiilerich.com>
parents: 15444
diff changeset
163 c: * (glob)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12314
diff changeset
164 [1]
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
165 $ echo c > c
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
166 $ hg add d c && echo "unexpected addition of missing file"
15521
117f9190c1ba tests: hide 'No such file or directory' messages
Mads Kiilerich <mads@kiilerich.com>
parents: 15444
diff changeset
167 d: * (glob)
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12314
diff changeset
168 [1]
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
169 $ hg st
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
170 M a
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
171 A c
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
172 ? a.orig
19987
ba6486076429 merge: move forgets to the beginning of the action list
Siddharth Agarwal <sid0@fb.com>
parents: 16974
diff changeset
173 $ hg up -C
ba6486076429 merge: move forgets to the beginning of the action list
Siddharth Agarwal <sid0@fb.com>
parents: 16974
diff changeset
174 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
ba6486076429 merge: move forgets to the beginning of the action list
Siddharth Agarwal <sid0@fb.com>
parents: 16974
diff changeset
175
ba6486076429 merge: move forgets to the beginning of the action list
Siddharth Agarwal <sid0@fb.com>
parents: 16974
diff changeset
176 forget and get should have the right order: added but missing dir should be
ba6486076429 merge: move forgets to the beginning of the action list
Siddharth Agarwal <sid0@fb.com>
parents: 16974
diff changeset
177 forgotten before file with same name is added
ba6486076429 merge: move forgets to the beginning of the action list
Siddharth Agarwal <sid0@fb.com>
parents: 16974
diff changeset
178
ba6486076429 merge: move forgets to the beginning of the action list
Siddharth Agarwal <sid0@fb.com>
parents: 16974
diff changeset
179 $ echo file d > d
ba6486076429 merge: move forgets to the beginning of the action list
Siddharth Agarwal <sid0@fb.com>
parents: 16974
diff changeset
180 $ hg add d
ba6486076429 merge: move forgets to the beginning of the action list
Siddharth Agarwal <sid0@fb.com>
parents: 16974
diff changeset
181 $ hg ci -md
ba6486076429 merge: move forgets to the beginning of the action list
Siddharth Agarwal <sid0@fb.com>
parents: 16974
diff changeset
182 $ hg rm d
ba6486076429 merge: move forgets to the beginning of the action list
Siddharth Agarwal <sid0@fb.com>
parents: 16974
diff changeset
183 $ mkdir d
ba6486076429 merge: move forgets to the beginning of the action list
Siddharth Agarwal <sid0@fb.com>
parents: 16974
diff changeset
184 $ echo a > d/a
ba6486076429 merge: move forgets to the beginning of the action list
Siddharth Agarwal <sid0@fb.com>
parents: 16974
diff changeset
185 $ hg add d/a
ba6486076429 merge: move forgets to the beginning of the action list
Siddharth Agarwal <sid0@fb.com>
parents: 16974
diff changeset
186 $ rm -r d
ba6486076429 merge: move forgets to the beginning of the action list
Siddharth Agarwal <sid0@fb.com>
parents: 16974
diff changeset
187 $ hg up -C
ba6486076429 merge: move forgets to the beginning of the action list
Siddharth Agarwal <sid0@fb.com>
parents: 16974
diff changeset
188 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
ba6486076429 merge: move forgets to the beginning of the action list
Siddharth Agarwal <sid0@fb.com>
parents: 16974
diff changeset
189 $ cat d
ba6486076429 merge: move forgets to the beginning of the action list
Siddharth Agarwal <sid0@fb.com>
parents: 16974
diff changeset
190 file d
11795
06793ad30575 tests: unify test-add
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9166
diff changeset
191
24537
2bb13f2b778c dirstate: don't require exact case when adding dirs on icasefs (issue4578)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23258
diff changeset
192 Test that adding a directory doesn't require case matching (issue4578)
2bb13f2b778c dirstate: don't require exact case when adding dirs on icasefs (issue4578)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23258
diff changeset
193 #if icasefs
2bb13f2b778c dirstate: don't require exact case when adding dirs on icasefs (issue4578)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23258
diff changeset
194 $ mkdir -p CapsDir1/CapsDir
2bb13f2b778c dirstate: don't require exact case when adding dirs on icasefs (issue4578)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23258
diff changeset
195 $ echo abc > CapsDir1/CapsDir/AbC.txt
2bb13f2b778c dirstate: don't require exact case when adding dirs on icasefs (issue4578)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23258
diff changeset
196 $ mkdir CapsDir1/CapsDir/SubDir
2bb13f2b778c dirstate: don't require exact case when adding dirs on icasefs (issue4578)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23258
diff changeset
197 $ echo def > CapsDir1/CapsDir/SubDir/Def.txt
2bb13f2b778c dirstate: don't require exact case when adding dirs on icasefs (issue4578)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23258
diff changeset
198
24790
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
199 $ hg add capsdir1/capsdir
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 33798
diff changeset
200 adding CapsDir1/CapsDir/AbC.txt
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 33798
diff changeset
201 adding CapsDir1/CapsDir/SubDir/Def.txt
24548
c780a63f61ca forget: cleanup the output for an inexact case match on icasefs
Matt Harbison <matt_harbison@yahoo.com>
parents: 24537
diff changeset
202
c780a63f61ca forget: cleanup the output for an inexact case match on icasefs
Matt Harbison <matt_harbison@yahoo.com>
parents: 24537
diff changeset
203 $ hg forget capsdir1/capsdir/abc.txt
24790
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
204
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
205 $ hg forget capsdir1/capsdir
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 33798
diff changeset
206 removing CapsDir1/CapsDir/SubDir/Def.txt
24790
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
207
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
208 $ hg add capsdir1
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 33798
diff changeset
209 adding CapsDir1/CapsDir/AbC.txt
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 33798
diff changeset
210 adding CapsDir1/CapsDir/SubDir/Def.txt
24790
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
211
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
212 $ hg ci -m "AbCDef" capsdir1/capsdir
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
213
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
214 $ hg status -A capsdir1/capsdir
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
215 C CapsDir1/CapsDir/AbC.txt
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
216 C CapsDir1/CapsDir/SubDir/Def.txt
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
217
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
218 $ hg files capsdir1/capsdir
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 33798
diff changeset
219 CapsDir1/CapsDir/AbC.txt
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 33798
diff changeset
220 CapsDir1/CapsDir/SubDir/Def.txt
24790
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
221
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
222 $ echo xyz > CapsDir1/CapsDir/SubDir/Def.txt
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
223 $ hg ci -m xyz capsdir1/capsdir/subdir/def.txt
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
224
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
225 $ hg revert -r '.^' capsdir1/capsdir
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 33798
diff changeset
226 reverting CapsDir1/CapsDir/SubDir/Def.txt
24790
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
227
24807
fff8b779e63a test-add.t: fix output difference between Windows and OS X (issue4603)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24790
diff changeset
228 The conditional tests above mean the hash on the diff line differs on Windows
fff8b779e63a test-add.t: fix output difference between Windows and OS X (issue4603)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24790
diff changeset
229 and OS X
24790
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
230 $ hg diff capsdir1/capsdir
24807
fff8b779e63a test-add.t: fix output difference between Windows and OS X (issue4603)
Matt Harbison <matt_harbison@yahoo.com>
parents: 24790
diff changeset
231 diff -r * CapsDir1/CapsDir/SubDir/Def.txt (glob)
24790
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
232 --- a/CapsDir1/CapsDir/SubDir/Def.txt Thu Jan 01 00:00:00 1970 +0000
28034
e7ff258f71df tests: make timezone in diff output glob-ed for portability
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 26614
diff changeset
233 +++ b/CapsDir1/CapsDir/SubDir/Def.txt * (glob)
24790
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
234 @@ -1,1 +1,1 @@
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
235 -xyz
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
236 +def
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
237
26000
9ac4e81b9659 match: fix a caseonly rename + explicit path commit on icasefs (issue4768)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25762
diff changeset
238 $ hg mv CapsDir1/CapsDir/abc.txt CapsDir1/CapsDir/ABC.txt
9ac4e81b9659 match: fix a caseonly rename + explicit path commit on icasefs (issue4768)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25762
diff changeset
239 $ hg ci -m "case changing rename" CapsDir1/CapsDir/AbC.txt CapsDir1/CapsDir/ABC.txt
9ac4e81b9659 match: fix a caseonly rename + explicit path commit on icasefs (issue4768)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25762
diff changeset
240
9ac4e81b9659 match: fix a caseonly rename + explicit path commit on icasefs (issue4768)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25762
diff changeset
241 $ hg status -A capsdir1/capsdir
9ac4e81b9659 match: fix a caseonly rename + explicit path commit on icasefs (issue4768)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25762
diff changeset
242 M CapsDir1/CapsDir/SubDir/Def.txt
9ac4e81b9659 match: fix a caseonly rename + explicit path commit on icasefs (issue4768)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25762
diff changeset
243 C CapsDir1/CapsDir/ABC.txt
9ac4e81b9659 match: fix a caseonly rename + explicit path commit on icasefs (issue4768)
Matt Harbison <matt_harbison@yahoo.com>
parents: 25762
diff changeset
244
24790
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
245 $ hg remove -f 'glob:**.txt' -X capsdir1/capsdir
baa11dde8c0e match: add a subclass for dirstate normalizing of the matched patterns
Matt Harbison <matt_harbison@yahoo.com>
parents: 24548
diff changeset
246 $ hg remove -f 'glob:**.txt' -I capsdir1/capsdir
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 33798
diff changeset
247 removing CapsDir1/CapsDir/ABC.txt
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 33798
diff changeset
248 removing CapsDir1/CapsDir/SubDir/Def.txt
24537
2bb13f2b778c dirstate: don't require exact case when adding dirs on icasefs (issue4578)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23258
diff changeset
249 #endif
2bb13f2b778c dirstate: don't require exact case when adding dirs on icasefs (issue4578)
Matt Harbison <matt_harbison@yahoo.com>
parents: 23258
diff changeset
250
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16875
diff changeset
251 $ cd ..